Doctrineの「LIKE」クエリトピックに関する主要な投稿を見ました(たとえば、これを参照してください)。SYmfony2アプリケーションがあります。コントローラーで、エンティティリポジトリを呼び出してクエリを実行します。特に、エンティティリポジトリでは、次の関数を定義します。
return $this->getEntityManager()
->createQuery("SELECT p FROM AcmePromoBundle:Promo p
JOIN p.product pr
WHERE pr.name LIKE 'La'")->getResult();
動作しますが、名前がLaであるProduct( pr )がないため、何も返されません。次に、次のようにSQLクエリ内に%文字を追加しようとします。
"SELECT p FROM AcmePromoBundle:Promo p JOIN p.product pr WHERE pr.name LIKE 'La%'"
そしてここ:
"SELECT p FROM AcmePromoBundle:Promo p JOIN p.product pr WHERE pr.name LIKE La%"
ただし、「クラスtrueは存在しません」というエラーが返されます。「 setParameter 」機能も使ってみましたが、うまくいきません!何か案が?