如何创建括号我orWhere:Laravel belongsToMany与OR条件
public function categories()
{
return $this->belongsToMany('App\Category', 'user_category')->orWhere('default', 1);
}
所以它转换为这样的:
where (`user_category`.`user_id` = ? or `default` = 1)
目前这里的括号缺失扰乱了整个查询。我试过,例如:
public function categories()
{
$join = $this->belongsToMany('App\Category', 'user_category')
->orWhere('default', 1);
return $this->where(function ($query) use ($join) {
return $join;
});
}
但现在我失去我的模型,并获得Call to undefined method Illuminate\Database\Query\Builder::...
这就是我所尝试过的。但是这对'belongsToMany'有效吗? $ query-> belongsToMany()在这个函数中不起作用。这就是为什么我试图用'use($ join)'来获取它,但仍然无法使用。 – PiTheNumber