在 Laravel PHP 框架中,您可以在 where 子句中使用条件,如下所示(Fluent):
...
->where(function($query) use ($var) {
if(isset($var)) {
$query->where('something', '=', $var);
}
})
->...
因此,如果您没有 $var 变量,则不会将 where 子句添加到查询中。
我想做同样的事情,但是使用连接子句,例如,仅当设置了 $var 时才与另一个表连接,但这不起作用,查询崩溃:
...
->join('tableB', function($query) use ($var) {
if(isset($var)) {
$query->on('tableA.id', '=', 'tableB.id');
}
})
->...
有什么建议吗?