这eloquent
查询过滤器:Laravel雄辩查询建筑物或
return $this->games()
->where(function ($query) {
$query->where('active_player_id', '=', $this->id)
->where('stage_name', '<>', 'setup');
})
->orWhere(function ($query) {
$query->where('active_player_id', '<>', $this->id)
->where('stage_name', '=', 'setup');
});
构建成这样的SQL:
where `games_players`.`player_id` = '1'
and (`active_player_id` = '1' and `stage_name` <> 'setup')
or (`active_player_id` <> '1' and `stage_name` = 'setup')
如何改变eloquent
代码来构建这个查询(在OR
左右括号):
where `games_players`.`player_id` = '1'
and (
(`active_player_id` = '1' and `stage_name` <> 'setup')
or (`active_player_id` <> '1' and `stage_name` = 'setup')
)
的可能的复制[Laravel雄辩ORM - 复杂哪里查询(https://stackoverflow.com/questions/29036959/laravel-雄辩-ORM复杂,其中查询) –