WhereNotExists Laravel Eloquent
laravel 的雄辩框架有点小麻烦.
Little bit of trouble with the eloquent framework for laravel.
我需要复制这样的查询:
I need to replicate a query like this :
SELECT *
FROM RepairJob
WHERE NOT EXISTS (SELECT repair_job_id
FROM DismissedRequest
WHERE RepairJob.id = DismissedRequest.repair_job_id);
现在我有
$repairJobs = RepairJob::with('repairJobPhoto', 'city', 'vehicle')->where('active', '=', 'Y')->whereNotExists('id', [DismissedRequest::all('repair_job_id')])->get();
有人有什么想法吗?我需要获取在已驳回请求表中没有记录的所有维修作业
Anyone an idea? I need to get all the repairjobs where there is no record for in the dismissed requests table
使用上述查询时出现此错误
I get this error when using the query above
Argument 1 passed to IlluminateDatabaseQueryBuilder::whereNotExists() must be an instance of Closure, string given
推荐答案
尝试 dontHave() 方法.假设dismissedRequests"作为 RepairJob 模型中的关系名称.
Try doesntHave() method. Assuming 'dismissedRequests' as relation name in RepairJob model.
$jobs = RepairJob::with('repairJobPhoto', 'city', 'vehicle')
->where('active', 'Y')->doesntHave('dismissedRequests')->get();
相关文章