我需要在数据透视表上检查两个条件。我知道我可以用这个检查一个条件:
$dis = $user->discounts()->wherePivot('used_for_id', '=', null)
然而,我想要两个条件。当我使用orWherePivot
时,两个条件OR
在一起,但我希望它们AND
在一起。
$whereData = [
['id', "=", $discountId],
['used_for_id', "=", null]
];
答案 0 :(得分:4)
wherePivot()
的工作方式与普通的where()
方法相同;您可以链接到第二个wherePivot()
条件,并且AND
符合之前的条件:
$dis = $user
->discounts()
->wherePivot('id', '=', $discountId)
->wherePivot('used_for_id', '=', null)
->get();
答案 1 :(得分:3)
下面给出了wherePivot函数定义。所以你可以使用$ boolean变量作为'或者'和'和'加入条件
public function wherePivot($column, $operator = null, $value = null, $boolean = 'and') {
//code
}
$dis = $user->discounts()->wherePivot('column', '=', null,'and')
->wherePivot('column', '=', null,'or')
->wherePivot('column', '=', null,'and')
->get();