如何創建括號我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