orWhere 的疑惑,做不到我需要的用法
看 Wiki 的时候发现下面的代码块
$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...];
$orThose = ['yet_another_field' => 'yet_another_value', ...];
$results = User::where($matchThese)->get();
$results = User::where($matchThese)
->orWhere($orThose)
->get();
本来也是想实现这样的目标的
SELECT * FROM users
WHERE (field = value AND another_field = another_value AND ...)
OR (yet_another_field = yet_another_value AND ...)
但是实质上我测试的时候是这样的
User::where(['id' => 1, 'sex' => 0])->orWhere(['id' => 2, 'sex' => 1])->get();
SELECT * FROM `users` where (`id` = ? and `sex` = ?) or (`id` = ? or `sex` = ?)"
所有想问问除了原生的 SQL 语句还能怎么实现