gpt4 book ai didi

php - 如何使用 Laravel Eloquent 在两个表之间创建子查询

转载 作者:行者123 更新时间:2023-12-01 00:36:33 25 4
gpt4 key购买 nike

大家好我是 Laravel 开发的新手,我想知道如何在两个表之间创建子查询,例如,我想执行这个查询:

SELECT * FROM `contracts` 
WHERE `trainer_id` = '1' OR id IN (
SELECT `contract_id` FROM `trainees`
WHERE `user_id` = '1'
)

我对其进行了测试,它可以正常工作,我想知道如何在 Laravel 中 Eloquent 地编写它

最佳答案

假设您的模型名为 Contract,您可以使用以下语法来实现您想要的:

Contracts::where('trainer_id', '1')
->orWhere(function ($subquery) {
$subquery->whereIn('id', function ($query) {
$query->select('contract_id')
->from('trainees')
->where('user_id', '1');
})
})->get();

关于php - 如何使用 Laravel Eloquent 在两个表之间创建子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48021116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com