是否可以在负载内计数
我有这样的情况:
$offer->load([
'coupons', 'coupons.couponItems' => function ($query) {
$query->select('id', 'name');
}, 'coupons.userCoupons' => function ($query) {
$query->select('id', 'coupon_id');
},
]);
我想数数
userCoupons
如果没有,最好的解决方案是什么? 谢谢你
您可以尝试在加载调用后添加
->loadCount()
。不幸的是,由于复杂性,Laravel 目前不支持点表示法,因此 ->loadCount('coupons.userCoupons')
将不起作用。
您可以在您的 Offer 模型上添加
HasManyThrough
关系,但是,例如
public function UserCoupons(): HasManyThrough
{
return $this->hasManyThrough(UserCoupon::class, Coupon::class);
}
然后你就可以做一个
$offer->loadCount('UserCoupons')
。