为什么我不能在带有约束的急切加载关系上使用 orderBy()?
Why can't I orderBy() on eager-loaded relationship with constraints?
$Classes = Classes::with(['Queue' => function($query){
$query->where('date', '<=', \Carbon\Carbon::parse("2018-09-16"))
->where('status', ClassStatus::PENDING())
->orderBy('date', 'asc');
}])->whereIn('user_course_id', UserCourse::get_user_course_id($user_id))->get();
这是我用来获取我的 $类.
的查询
稍后我会使用
显示我的 'Queue' 数据
foreach($Queues as $Queue){
foreach($Queue as $Q){
echo $Q->date."\n";
}
}
我得到的输出是
2018-09-16
2018-09-13
2018-09-12
2018-09-13
2018-09-13
所以它肯定是按 'Queue' 模型 id
排序的。我如何改为按 date
列排序?
您正在为队列排序 per class。使用 sortBy()
:
$Queues = $Queues->sortBy('date');
$Classes = Classes::with(['Queue' => function($query){
$query->where('date', '<=', \Carbon\Carbon::parse("2018-09-16"))
->where('status', ClassStatus::PENDING())
->orderBy('date', 'asc');
}])->whereIn('user_course_id', UserCourse::get_user_course_id($user_id))->get();
这是我用来获取我的 $类.
的查询稍后我会使用
显示我的 'Queue' 数据 foreach($Queues as $Queue){
foreach($Queue as $Q){
echo $Q->date."\n";
}
}
我得到的输出是
2018-09-16
2018-09-13
2018-09-12
2018-09-13
2018-09-13
所以它肯定是按 'Queue' 模型 id
排序的。我如何改为按 date
列排序?
您正在为队列排序 per class。使用 sortBy()
:
$Queues = $Queues->sortBy('date');