我正在尝试使用laravel中的leftJoin从数据库中检索数据。我有两个表名usersappointments在我的预约表中,有一个字段名doctor_id保存与用户的id相关的医生id。两个id值都是相同的。如果users表中的列id值与appointment_date表中的列约会值匹配,则需要status表和appointments表中的usersappointments中的医生的名称。但当我执行查询时,它返回空响应。
代码

$patientID = $request->patientID;
$prevAppointments = DB::table('appointments')
  ->leftJoin('users', 'appointments.doctor_id', '=', 'users.id')
  ->select(
    'users.first_name',
    'users.last_name',
    'appointments.appointment_date',
    'appointments.status'
  )
  ->where('appointments.patient_id', $patientID)
  ->get();
return($prevAppointments);

用户表
预约表

最佳答案

试试这个-

$patientID = $request->patientID;
$prevAppointments = DB::table('appointments')
                        ->leftJoin('users', 'appointments.doctor_id', '=', 'users.id')
                        ->select('users.first_name','users.last_name','appointments.patient_id', 'appointments.appointment_date','appointments.status')
                        ->where('appointments.patient_id',$patientID)
                        ->get();
return($prevAppointments);

10-04 12:14