プロパティの元のエンティティと一致するかどうかによって、クエリの結果を並べ替えようとしています。次のクエリを使用して、mySQL でこれを簡単に行うことができます。
SELECT * FROM table
ORDER BY prop = 'value' DESC;
ただし、Doctrine では、次のことを試みると:
// $qb is an instance of query builder
$qb->select('e')
->from('Entity', 'e')
->orderBy('e.prop = :value', 'DESC')
->setParameter('value', 'value');
// grab values
Doctrine 構文エラー「文字列の終わり」が表示されます。カスタム関数の作成を検討しましたが、それはやり過ぎのようです。私はDoctrineにかなり慣れていません。これを行うためのより良い方法はありますか?