简单地说,如果我有一个包含许多相关项目的实体(hasMany),我该如何获取该实体及其相关项目随机排序
我这样取:
$question = Question::with('categories', 'answers')->where( _some_parameters_ ) ... ->get();
我如何改变这些答案'在结果对象中?
答案 0 :(得分:2)
您可以尝试这样的事情:
$question = Question::with(['categories', 'answers' => function($q) {
$q->orderByRaw('RAND()');
}])->where( _some_parameters_ )
->get();
这仅适用于MySQL。
答案 1 :(得分:0)
在Laravel而不是MySQL中进行“shuffle”:
$question = Question::with('categories', 'answers')->
where( _some_parameters_ ) ... ->get()->shuffle();
答案 2 :(得分:0)
在 Laravel 5.2 中,您可以尝试以下代码:
User::inRandomOrder()->get();