可能是我的错,但我不知道我的错在哪里。
我有一个客户模型
schedule_registers()
关系
public function schedule_registers()
{
return $this->hasMany('App\Models\ScheduleRegister', 'customer_id', 'id');
}
我还有ScheduleRegister模型
teacher()
关系
public function teacher()
{
return $this->belongsTo('App\Models\User', 'teacher_id', 'id');
}
我像这样在CustomerController中获取数据(我不使用
->get()
因为我正在将这些数据发送到datatable);
$customer_index = Customer::with([
'company',
'schedule_registers',
'schedule_registers.teacher',
]);
这个查询给了我这个输出;
https://jsonblob.com/915606370225766400
当我尝试使用group by teacher_id并将查询改为此时;
$customer_index = Customer::with([
'company',
'schedule_registers.teacher',
'schedule_registers' => function ($q) {
$q->groupBy('schedule_registers.teacher_id');
},
]);
输出转向这个;
https://jsonblob.com/915605962518446080
简而言之,当我尝试使用groupBy时,我没有得到任何错误,但得到了错误的输出。如果你能检查输出,当我使用groupBy时,一些
schedule_registers
数据变为空,但有些数据变为空。
正确的使用方法是什么
groupBy
在那种情况下?