如何在 laravel 范围内查询关系
How to query relation in laravel scope
我想稍微修改以下范围:
function scopeNotRunOut($query)
{
return $query->has('redemptions', '<', DB::raw('quantity'));
}
此return所有相关兑换次数少于数量列的型号。赎回 table 有一个 user_id
列,那么我该如何调整它以便它只计算 user_id
列为给定值的赎回?
最后自己解决了,答案如下:
function scopeCustomerMaxUsesValid($query, $user_id)
{
return $query->whereHas('redemptions', function($query) use ($user_id) {
$query->where('user_id', '=', $user_id);
}, '<', DB::raw('quantity'));
}
我想稍微修改以下范围:
function scopeNotRunOut($query)
{
return $query->has('redemptions', '<', DB::raw('quantity'));
}
此return所有相关兑换次数少于数量列的型号。赎回 table 有一个 user_id
列,那么我该如何调整它以便它只计算 user_id
列为给定值的赎回?
最后自己解决了,答案如下:
function scopeCustomerMaxUsesValid($query, $user_id)
{
return $query->whereHas('redemptions', function($query) use ($user_id) {
$query->where('user_id', '=', $user_id);
}, '<', DB::raw('quantity'));
}