简单地说,如果我有一个实体有许多相关项(hasmany),我如何获取该实体及其相关项,这些相关行是随机排序的我喜欢这样:
$question = Question::with('categories', 'answers')->where( _some_parameters_ ) ... ->get();
如何在结果对象中洗牌这些“答案”?
ih99xse11#
你可以这样做:
$question = Question::with(['categories', 'answers' => function($q) { $q->orderByRaw('RAND()');}])->where( _some_parameters_ )->get();
$question = Question::with(['categories', 'answers' => function($q) {
$q->orderByRaw('RAND()');
}])->where( _some_parameters_ )
->get();
不过,这只适用于mysql。
hgb9j2n62#
要在laravel而不是mysql中执行“shuffle”,请执行以下操作:
$question = Question::with('categories', 'answers')-> where( _some_parameters_ ) ... ->get()->shuffle();
$question = Question::with('categories', 'answers')->
where( _some_parameters_ ) ... ->get()->shuffle();
vjhs03f73#
在laravel 5.2中,您可以尝试以下代码:
User::inRandomOrder()->get();
3条答案
按热度按时间ih99xse11#
你可以这样做:
不过,这只适用于mysql。
hgb9j2n62#
要在laravel而不是mysql中执行“shuffle”,请执行以下操作:
vjhs03f73#
在laravel 5.2中,您可以尝试以下代码: