我对模型有以下查询 - 但是仅查询团队匹配的条件仅适用于第一个where子句。
$this->matches = $this->team->matches()->whereNull('wbp')->orWhere(function($q) {
$q->whereNotNull('wbp')->where('is_played','=',0);
})->get();
如果我自己使用它们,它们就能正常工作 - 两者都应该按原样返回一个项目:
$this->team->matches()->whereNull('wbp')->get();
$this->team->matches()->where(function($q) {
$q->whereNotNull('wbp')->where('is_played','=',0);
})->get();
但链接他们只会给我wbp为null的所有球队比赛,以及wbp!= null和is_played = false的任何球队的所有比赛。
如何在此正确链接?
答案 0 :(得分:1)
我需要在matches()调用的地方链接:
$this->matches = $this->team->matches()->where(function ($q)
{
$q->whereNull('wbp')->orWhere(function($q)
{
$q->whereNotNull('wbp')->where('is_played','=',0);
});
})->get();