gpt4 book ai didi

mysql - Laravel - 获取多个 withCount() 的总和

转载 作者:行者123 更新时间:2023-11-29 03:17:01 25 4
gpt4 key购买 nike

我正在寻找 Eloquent 或原始 sql 来获取我的两个 ->withCount 的总和。我需要能够做到这一点 而无需 必须 ->get() 记录,它需要使用 Eloquent 来实现,而不是 laravels 集合方法。

我有以下内容:

$owners = User::active()
->where(function($q){
$q->whereHas('primaryContractOwner')
->orWhereHas('primaryVendorOwner');
})
->withCount([
'primaryContractOwner',
'primaryVendorOwner'
]);

我需要获取 primary_contract_owner 计数和 primary_vendor_owner 计数的总和。我尝试了以下操作,但我得到 primary_contract_owner_count column not found

// This one throws the error
$owners = User::active()
->where(function($q){
$q->whereHas('primaryContractOwner')
->orWhereHas('primaryVendorOwner');
})
->withCount([
'primaryContractOwner',
'primaryVendorOwner'
])
->select(['user.*', DB::raw('primary_contract_owner_count + primary_vendor_owner')]);

最佳答案

https://laravel.com/docs/5.7/eloquent-relationships#counting-related-models

我相信您的计数将称为 primaryContractOwner_countprimaryVendorOwner_count。您可以在没有要检查的 DB::raw 部分的情况下运行查询。

关于mysql - Laravel - 获取多个 withCount() 的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53822579/

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