laravelEloquent 的框架有点麻烦.

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

我在使用上面的查询时遇到了这个错误

Argument 1 passed to Illuminate\Database\Query\Builder::whereNotExists() must be an instance of Closure, string given

推荐答案

try 使用dontHave()方法.假定"disdissedRequests"为RepairJob模型中的关系名称.

$jobs = RepairJob::with('repairJobPhoto', 'city', 'vehicle')
    ->where('active', 'Y')->doesntHave('dismissedRequests')->get();

Laravel相关问答推荐

在 Laravel 中清除 Routes&config:cache 后未定义的常量

Laravel:如何强制使用 HTTPS?

为什么命令php artisan serve不起作用

Laravel Blade 模板 @foreach 订单

Carbon(laravel)处理无效日期

在 laravel 查询构建器中使用多个 where 子句

如何在 Laravel 5.5 中扩展 vendor 包服务提供者

Laravel Input:all() 忽略禁用的输入

如何卸载 Laravel?

Laravel 5.2 身份验证不起作用

在 Laravel 容器中覆盖单例

在 Eloquent 中按自定义顺序对集合进行排序

扩展 Eloquent 的类的构造函数

如果 Laravel 中的值不为空,如何验证输入字段

Laravel Eloquent 查询生成器默认 Where 条件

如何在 laravel 4 中删除文件

在 Laravel 4 中使用 HTML 占位符

在 laravel 中安装 vue 3.0

Laravel homestead IP地址不起作用

使用哪个 Auth::check() 或 Auth::user() - Laravel 5.1?