我想稍微修改一下以下范围:
function scopeNotRunOut($query)
{
return $query->has('redemptions', '<', DB::raw('quantity'));
}
返回相关赎回计数小于数量列的所有模型。赎回表有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'));
}