我正在构建Symfony应用程序,用户可以通过包含许多字段的搜索表单进行一些搜索。现在我的DQL查询如下所示:DQL如何在参数为空时返回所有记录
$users = $repository->createQueryBuilder('u')
->addSelect('u')
->from('AppBundle:User', 'b')
->where('u.Number = :Number **OR u.Number = :blank'**)
->andWhere('u.Code = :Code')
->setParameter('Number', $Number)
->setParameter('blank', $blank)
->setParameter('Code', $code)
->getQuery()
->getResult();
的问题是,我希望我的请求,当用户离开一些领域的空白返回与条件的所有记录。现在没有记录被返回,因为系统认为我想要具有特定“空白”标准的条目。我会很感激任何想法。谢谢
)它可以工作!!如果我现在还没有2个字段,但是,比如说10个搜索字段,为了证明用户输入的每一种可能情况,我需要写10个if-else块,甚至是10 * 10个块,对吗?或者,对于这种情况,可能有任何解决方法?谢谢 – Jack
如果你有多个字段,你应该把它放在一个数组中,这样你就可以用'foreach'循环替换上面的行了。 – Dric512
好的建议,谢谢。有没有可能看到这样的实现的例子?我会花很多时间来通过这个))) – Jack