【发布时间】:2016-01-12 23:12:12
【问题描述】:
我想知道如何在 Laravel 中使用 eloquent 构建基于条件的查询?
我已经找到了如何使用 raw query 来做到这一点,但这不是我想要的,answer to this question 也不是那么动态,至少不像我想要的那样动态。
我试图实现的是根据某些条件创建一个动态的 WHERE 查询,例如该字段是否填充。
如果我使用下面的代码,
$matchThese = [
'role' => 'user',
'place' => \Input::get('location')
];
$availableUsers = User::where($matchThese)->take($count)->orderByRaw("RAND()")->get();
如果我不将位置作为 POST 值发送,查询将失败。我不希望它失败我希望它跳到查询中的下一个 WHERE 子句。所以基本上如果没有给定的地方不要搜索它。
【问题讨论】:
标签: php mysql laravel eloquent