Eloquent를 사용하여 Laravel 5.4에서이 쿼리를 수행하려고하는데 하위 쿼리가 제대로 작동하지 않습니다.Eloquent Where With With Join 하위 쿼리
select * from projects p
inner join projects_categories pc on p.id = pc.project_id
where pc.name in (select pc.name from projects p
inner join projects_categories pc on p.id = pc.project_id
where p.id = $project->id) and p.id <> $project->id;
이 내가 할 노력하고있어입니다 :
Project::join('projects_categories', 'projects.id', '=', 'projects_categories.project_id')
->whereIn([
['projects_categories.name', function ($query) {
$query->select('projects_categories.name')
->from('projects')
->join('projects_categories', 'projects.id', '=', 'projects_categories.project_id')
->where('project.id', '=', $project->id);
}],
['projects.id', '<>', $project->id]
])
->get();
을하지만 항상 내가 다시 오류가 발생합니다 :
를 분명히하기위한 인수 2 누락이 원래 SQL 쿼리입니다 \ Database \ Query \ Builder :: whereIn().
아무도 도와 줄 수 없습니까? 시간을내어 도와 주셔서 대단히 감사합니다.
예 !!! 대단히 감사합니다! – jandro935