我正在使用Symfony 2.我有实体 Ent1 ,Field1 = ManyToMany(targetEntity = Ent2),Field2 = OneToOne(targetEntity = Ent2)。
ManyToMany涉及DataBase中的中间表。
我的请求参数是Ent2的实例(在DQL中,这意味着SQL的Ent2的Id)' myEnt ',我需要选择所有具有' myEnt 的实体em>'IN(Field1数组)或具有Field2 =' myEnt '。
在伪SQL中,它将是
SELECT(*) FROM Ent1
(WHERE Field2='myEnt' OR INNERJOIN(Ent2 ON Ent2 = 'myEnt')
当然不是功能性的。
有可能吗? 如果是,那么某人是否有正确的逻辑/语法来达到这个目标?
非常感谢。
答案 0 :(得分:0)
保留连接部分以选择要加入的行以及要过滤的位置,这样您可能需要这样的内容:
SELECT(*) FROM Ent1
inner join ent2
on ent1.id = ent2.id
WHERE Field2='value' OR Field2.id = 'value'