我有这个问题:
SELECT * FROM users
WHERE
gender = "$gender" AND country = "$country"
AND ((city = "$city" AND status = "1")
OR (status IN(2,3)))";
如何在 Lumen 中编写上述查询?
到目前为止我尝试过的是:
$users = User::where('country', '=', $country)
->where('gender', '=', $gender)
->where(function ($users) {
$users->where('city', '=', '$city')
->where('status', '=', "1");
})
->whereIn('status', [2, 3])
->first();
但是这个查询没有返回预期的结果。
知道我的查询有什么问题吗?
最佳答案
试试下面的代码。
$users = User::where('country', '=', $country)
->where('gender', '=', $gender)
->where(function ($query) use ($city) {
$query->where(function($query) use ($city) {
$query->where('city', '=', '$city')
->where('status', '=', "1");
})->orWhereIn('status', [2, 3]);
})->first();
关于php - 如何处理流明中的 And Where 和 Or Where 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32730726/