laravel 中的查询返回空响应

我正在使用leftJoinlaravel 从我的数据库中检索数据。我有两个表名users,appointments在我的约会表中有一个字段名称doctor_id,其中包含与用户 ID 相关的医生 ID。两者的 id 值是相同的。如果表中的列 id 值与表中的列约会值与 where 子句 where匹配,我需要表中的医生姓名和users表中的医生姓名。但是当我执行查询时,它返回空响应。appointment_datestatusappointmentsusersappointmentspatient_id = $patientID


代码


$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);

用户表

http://img.mukewang.com/61ecc5950001712c03930102.jpg

约会表


http://img3.mukewang.com/61ecc5a000016db508020069.jpg

幕布斯6054654
浏览 193回答 2
2回答

MMTTMM

试试这个 -$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);

PIPIONE

使用此命令创建模型(如果您没有任何约会模型):在项目类型的根目录中:php artisan make:model Appointment在创建的文件中写下这些:protected $fillable=['patient_id','doctor_id','appointment_date','status'];public function doctor(){    $this->belongsTo(User::class,'doctor_id');}现在你可以使用这个 Eloquent Query:首先添加 Appointment 类: Use App\Appointment;然后在方法中使用它: $prevAppointments = Appointment->where('patient_id','=',$patientID)->first();现在您有一个集合,其中包含与医生属性的约会。有关 Eloquent ORM 和 Laravel 集合的更多详细信息,请点击此链接:https ://hamidshariati.ir/most-important-articles-to-learn-laravel/
打开App,查看更多内容
随时随地看视频慕课网APP