where()如果变量不等于null

时间:2019-01-12 20:00:18

标签: php laravel

我正在尝试执行以下操作

if $this_variable_1 is not null perform a where() with $this_variable_variable1 end if

if $this_variable_1 and $this_variable_2 is not null perform a where() with $this_variable_1 and a where() with $this_variable_2 end if

但是,我有四个变量,但并非所有变量都有效,并且将有不同的组合,其中哪些是有效的,哪些是空的,现在我可以编写36条if()语句或一个开关但我觉得这样会很无效。

Laravel或PHP是否具有无需执行所有if()语句即可执行此操作的功能?

提前谢谢

1 个答案:

答案 0 :(得分:0)

我通过使用条件子句解决了这个问题

->when(!empty($this_variable_1) , function ($query) use($this_variable_1){ return $query->where('myColumn', '=', $this_variable_1); })