Laravel 4:随机和有限的订单查询关系

时间:2013-11-21 21:17:05

标签: php laravel eloquent

我正在使用Laravel 4而且我遇到了一个雄辩的问题。

我已将其设置为获取类别,获取产品并将其限制为2.但是我无法获取随机元素。我需要它从两个随机产品中进行选择,而不是最新/最新产品。

$products = Category::find($id)->products->take($limit);
$products->load('imageThumb');
return $products;

我想保持解决方案雄辩,但如果这不是一个选项,我将切换到原始查询代码。

谢谢!

2 个答案:

答案 0 :(得分:9)

$products = Category::find($id)->products()->orderBy(DB::raw('RAND()'))->take($limit)->get();

(抱歉忘记了原来回答中的 - > get())

答案 1 :(得分:0)

桌子有多大?如果它不是太大你可以使用MySQL ORDER BY RAND() http://davidwalsh.name/mysql-random

雄辩的话:

->orderBy(DB::raw('RAND()'))