Как я могу сделать этот SQL в Query Builder laravel
select Doctor_id from doctors where Doctor_id NOT IN
(SELECT Doctor_id from report_reviewers WHERE Report_id = 26 )
Как я могу сделать этот SQL в Query Builder laravel
select Doctor_id from doctors where Doctor_id NOT IN
(SELECT Doctor_id from report_reviewers WHERE Report_id = 26 )
Попробуйте с этим
$result = DB::table('doctors')
->whereNotIn('doctor_id', function($q){
$q->from('report_reviewers')
->select('Doctor_id')
->where('Report_id', '=', 26)
})
->select('doctor_id')
->get();
Когда вы сомневаетесь, если вы знаете чистый SQL, вы можете просто сделать
$query = 'select Doctor_id from doctors ...';
$result = DB::select($query);
Кроме того, вся заслуга принадлежит этому гению Как создать подзапрос с помощью Laravel Eloquent ?
Обновить
Отсутствующий аргумент исходит из закрытия, которое вы используете
->whereNotIn('doctor_id', function($q,$id){
$q->from('report_reviewers')
->select('Doctor_id')
->where('Report_id',$id);
})
Вам нужно передать переменную $id
вот так
->whereNotIn('doctor_id', function($q) use ($id) {
$q->from('report_reviewers')
->select('Doctor_id')
->where('Report_id',$id);
})
Попробуйте еще раз и посмотрите.