说到随机查询数据,如果用sql的话 ,直接用 order by rand() 就是说随机排序,我们取多少条都可以
例:
s elect * 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()