如何在laravel范围内查询关系

时间:2015-09-21 12:31:25

标签: php laravel laravel-5.1

我有以下范围,我想稍微修改一下:

function scopeNotRunOut($query)
{
    return $query->has('redemptions', '<', DB::raw('quantity'));
}

这将返回相关兑换计数小于数量列的所有模型。兑换表格中有user_id列,那么我如何调整此值以便仅计算user_id列为给定值的兑换次数?

1 个答案:

答案 0 :(得分:3)

管理自己最终解决了,这就是答案:

function scopeCustomerMaxUsesValid($query, $user_id)
{
    return $query->whereHas('redemptions', function($query) use ($user_id) {
        $query->where('user_id', '=', $user_id);
    }, '<', DB::raw('quantity'));
}