在一个表中,我想获得基于约会日期将它们分组的PatientNames。但是只返回一个值的数组。
我尝试过:
$app = DB::table('appointment')->select('appointmentDate','patientName')
->where('doctorId',$id)
->groupBy('appointmentDate')->get();
我希望按约会日期对所有患者进行分组,但是尽管有多个患者具有相同的约会日期,但它只给我一个患者详细信息。
答案 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');