laravel 5.1:我怎么能有两个 wherePivot 雄辩?

Ham*_*our 5 php laravel eloquent laravel-5 laravel-5.1

我需要检查数据透视表上的两个 where 条件。我知道我可以用这个检查一个条件:

$dis = $user->discounts()->wherePivot('used_for_id', '=', null)
Run Code Online (Sandbox Code Playgroud)

但是,我想要两个 where 条件。当我使用时orWherePivot,两个 where 条件OR一起被编辑,但我希望它们被AND一起编辑。

$whereData = [
    ['id', "=", $discountId],
    ['used_for_id', "=", null]
];
Run Code Online (Sandbox Code Playgroud)

pat*_*cus 9

wherePivot()与正常where()方法相同;您可以只在第二个wherePivot()条件上进行链接,它将AND使用先前的条件进行编辑:

$dis = $user
    ->discounts()
    ->wherePivot('id', '=', $discountId)
    ->wherePivot('used_for_id', '=', null)
    ->get();
Run Code Online (Sandbox Code Playgroud)