为什么我不能在带有约束的急切加载关系上使用 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');