Laravel:编写正确的嵌套条件查询(代码缩减)

时间:2018-02-06 21:39:37

标签: php laravel laravel-5 eloquent refactoring

好的,这是我的代码。

它做的是检查一些工人的字段以找到可能的重复项(我知道这些字段应该是唯一的,但我不能做那么多)。因此,例如,如果设置了字段$credential_no,它将检入DB,但如果它为空,则不会,因为我不希望所有在该字段中具有null的记录。

enter image description here

这里的问题是,我需要检查是否至少定义了一些输入($credential_no || $ssn || $passport_no || $birthdate),因为如果没有,查询将返回所有工作者,原因是没有where条件,只有匹配才能得到结果。

此外,通过尝试,我认为我可以模糊地使用whereorWhere,我错了吗?因为如果不是,我必须使用这样的东西: enter image description here

我的问题是如何才能让这个东西变得更好,如何减少这个混乱的代码,或者在laravel中没有办法做这种事情?

更新1

好的,按照@btl的建议,我来了,但你可以看到我必须在第一个参数函数内调用get()(我想我不应该这样做),因为如果我不要传递第二个参数函数,并在最后get()之后调用})此代码将返回所有记录,这是我不想要的。

enter image description here

0 个答案:

没有答案