laravel 5.1 : 我怎样才能在 eloquent 中有两个 wherePivot?
laravel 5.1 : how can i have two wherePivot in eloquent?
我需要检查枢轴上的两个 where 条件 table。我知道我可以用这个检查一个条件:
$dis = $user->discounts()->wherePivot('used_for_id', '=', null)
但是,我想要两个where条件。当我使用 orWherePivot
时,两个 where 条件被 OR
编辑在一起,但我希望它们被 AND
编辑在一起。
$whereData = [
['id', "=", $discountId],
['used_for_id', "=", null]
];
wherePivot()
与正常的 where()
方法相同;您可以只链接第二个 wherePivot()
条件,它将 AND
与前面的条件相结合:
$dis = $user
->discounts()
->wherePivot('id', '=', $discountId)
->wherePivot('used_for_id', '=', null)
->get();
wherePivot函数定义如下。所以你可以使用 $boolean 变量作为 'or' 和 'and' 加入条件
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();
我需要检查枢轴上的两个 where 条件 table。我知道我可以用这个检查一个条件:
$dis = $user->discounts()->wherePivot('used_for_id', '=', null)
但是,我想要两个where条件。当我使用 orWherePivot
时,两个 where 条件被 OR
编辑在一起,但我希望它们被 AND
编辑在一起。
$whereData = [
['id', "=", $discountId],
['used_for_id', "=", null]
];
wherePivot()
与正常的 where()
方法相同;您可以只链接第二个 wherePivot()
条件,它将 AND
与前面的条件相结合:
$dis = $user
->discounts()
->wherePivot('id', '=', $discountId)
->wherePivot('used_for_id', '=', null)
->get();
wherePivot函数定义如下。所以你可以使用 $boolean 变量作为 'or' 和 'and' 加入条件
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();