[英]How can I order results by conditions in Doctrine?
如何使用“ Doctrine查询生成器”对结果进行排序,以使匹配第一个条件的结果排在第一位,然后是第二个条件的结果(所有结果都应与第三个条件匹配)?
这是查询的示例:
$QB->select('k', 'k.word')
->from($repository, 'k')
->where('k.word LIKE :strict')
->orWhere('k.word LIKE '.':loose')
->andWhere('k.status=1')
->setMaxResults(5)
->setParameter('strict', $query.'%')
->setParameter('loose', '%'.$query.'%');
我尝试使用orderBy()
但没有成功-不知道语法是什么。
UPD。 数据和结果列表示例:假设我有一个数据列表:
搜索查询是“ ca” 。
我希望查询进行排序并首先显示这些结果:
然后这个结果:
并过滤掉这个,因为状态为0 :
你尝试过这个吗?
$QB->select('k', 'k.word')
->from($repository, 'k')
->where('k.word LIKE :strict')
->orWhere('k.word LIKE '.':loose')
->andWhere('k.status=1')
->setMaxResults(5)
->setParameter('strict', $query.'%')
->setParameter('loose', '%'.$query.'%')
->orderBy('k.word', 'ASC');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.