說到隨機查詢數據,如果用sql
的話 ,直接用 order by rand()
就是說隨機排序,我們取多少條都可以
例:
select * from table where 1 order by rand() limit 10
那tp5.1中如何實現呢?
ThinkPHP5從V5.0.17之后,如果排序使用到SQL函數,要用orderRaw()
代替order()進行排序。
示例:
Db::name('user')->orderRaw('rand()')->limit(0,5)->select()
//或者
UserModel::orderRaw('rand()')->limit(0,5)->select()