Laravel雄辩的groupBy()

时间:2019-04-06 11:18:42

标签: laravel

在一个表中,我想获得基于约会日期将它们分组的PatientNames。但是只返回一个值的数组。

我尝试过:

$app = DB::table('appointment')->select('appointmentDate','patientName')
       ->where('doctorId',$id)
       ->groupBy('appointmentDate')->get();

我希望按约会日期对所有患者进行分组,但是尽管有多个患者具有相同的约会日期,但它只给我一个患者详细信息。

1 个答案:

答案 0 :(得分:0)

这就是sql group by的工作方式。

如果只需要按orderBy排序,则尝试使用orderBy。

$app = DB::table('appointment')->select('appointmentDate','patientName')
   ->where('doctorId',$id)
   ->orderBy('appointmentDate')->get();

如果您希望每个约会的所有患者位于单独的数组中,最好使用Eloquents而不是DB select():

$app = Appointment::where('doctorId',$id)->get()->groupBy('appointmentDate');