本文介绍了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();

这篇关于WhereNotExists Laravel Eloquent的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 01:50