[英]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.