【发布时间】:2018-02-13 11:27:29
【问题描述】:
这个eloquent 查询过滤器:
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')
)
【问题讨论】:
标签: php eloquent laravel-5.4 laravel-eloquent