今天在开发项目的时候出现这样的问题,用户点击一个新闻详情的时候,会随机推荐几个其他的文章.挺简单的东西.
可是问题来了...
傻吊的我先用了这种方法:
<?php //获取文章数据 $data = Db::table('news')->select(); //循环 5 次搞他 for ($i=0; $i < 5; $i++) { $arr[] = $data[array_rand($data, 1)]; } //然后输出给模板..... ?>
然后就是这个样子的....
这么写有很多 BUG,而且还挺傻逼的!
然鹅我突然想起来 MySQL 不是有个rand
的关键词吗?
$data = Db::table('news')->order('rand()')->limit(5)->select();
这么写好报错了....
正确写法是:
$data = Db::table('news')->orderRaw('rand()')->limit(5)->select();
完成了...