假设我有 $var1 和 $var2 这样的变量。
假设我想要一个类似的查询
$myQuery = DB::table('myTable')
->where('firstField', '=', $var1)
->where('secondField', '=', $var2)
->get();
当然,当我的变量为空时,这个就不起作用了。我想控制它们,并在它们为空时做一些事情。
我应该根据这些变量创建一个查询,并使用它们所持有的值来过滤它们。
任何其他想法如何做到这一点?
最佳答案
这是一个解决方案:
$results = DB::table('myTable')->where(function($query) use ($var1, $var2) {
if ( ! empty($var1)) {
$query->where('firstField', '=', $var1);
}
if ( ! empty($var2)) {
$query->where('secondField', '=', $var2);
}
})->get();
编辑:将::where 更正为 ->where
关于php - 使用变量构建 Laravel 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432557/