gpt4 book ai didi

php - Laravel belongsToMany 与 OR 条件

转载 作者:行者123 更新时间:2023-11-30 22:12:35 25 4
gpt4 key购买 nike

如何在我的 orWhere 周围创建括号:

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::...

最佳答案

您可以使用 advanced where clause喜欢:

Model::where(function ($query) {
$query->where('a', '=', 1)
->orWhere('b', '=', 1);
})->where(function ($query) {
$query->where('c', '=', 1)
->orWhere('d', '=', 1);
});

或嵌套子句like :

Model::where(function($query)
{
$query->where('a', 'like', 'keyword');
$query->or_where('b', 'like', 'keyword');
})
->where('c', '=', '1');

关于php - Laravel belongsToMany 与 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39591389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com