2016-10-25 3 views
1

Doctrineクエリビルダでネストされたクエリを構築するにはどうすればいいですか?Doctrineクエリビルダのネストされたクエリ

私のmysqlのクエリは次のようになります。

SELECT subquery1.* 
FROM 
(SELECT * FROM product 
    WHERE for_her = true && age_teenagers = true && special = true) subquery1 
WHERE subquery1.song_rock =true || subquery1.describe_beauty = true; 

どのように製品のエンティティリポジトリにDoctrineのクエリにこれを変換するには?

答えて

0

この場合、クエリは通常のネストされていないクエリに簡単にリフォームされる可能性があります。 は、私の知る限り、それは

SELECT * FROM product 
    WHERE for_her = true AND age_teenagers = true AND special = true 
and (song_rock =true OR describe_beauty = true) 

ため、すべてのレコードによって

Select P from Product P 
Where P.forHer=true AND P.ageTeenages=true AND P.specials=true and (P.songRock=true OR P.describeBeauty=true) 
+0

だ見ると、それは真実ではありません! SO q/aを確認してください:http://stackoverflow.com/questions/6637506/doing-a-where-in-subquery-in-doctrine-2 –

+0

ありがとう、私は間違っていました。 –