【发布时间】:2021-08-19 10:32:12
【问题描述】:
每个目标都有许多证书。
certs
target_id uploaded
1 1
1 0
我想获取没有上传任何证书的目标 (uploaded = 0)。以下查询仍然返回目标 1,但它不应该返回任何内容!
Target::whereDoesntHave('certs', function ($query) {
$query->where('uploaded', 0);
})->get();
laravel 产生的查询是:
SELECT * FROM `targets`
WHERE NOT EXISTS (
SELECT * FROM `certs`
WHERE `targets`.`id` = `certs`.`target_id` AND `uploaded` = 0
)
【问题讨论】:
标签: php mysql laravel eloquent orm