Symfony 2离开加入了很多关系,得到了InvalidPathExpression错误

时间:2016-12-02 16:30:52

标签: symfony doctrine entity-relationship

我在symfony 2项目中有很多关系,我尝试在其上创建一个左连接,但是我有一个错误。我已经阅读了数百份文档和帖子,但我无法找到解决方案。希望你能帮助我弄明白:)

这里的错误:

[语义错误]第0行,第162列附近' users = u WHERE':错误:无效的PathExpression。期望StateFieldPathExpression或SingleValuedAssociationField。

这是我的关系:

   AdminBundle\Entity\KeywordNeed:
     ...
manyToMany:
        users:
            targetEntity: User
            mappedBy: keywordNeeds

另一个实体:

    AdminBundle\Entity\User:
...
keywordOffers:
            targetEntity: AdminBundle\Entity\KeywordOffer
            inversedBy: users
            nullable: true
            joinTable:
                name: users_keywordoffer
                joinColumns:
                    user_id:
                        referencedColumnName: id
                inverseJoinColumns:
                    keywordoffer_id:
                        referencedColumnName: id

最后我生成的sql请求:

    SELECT distinct u  FROM AdminBundle\Entity\Network n 
INNER JOIN AdminBundle\Entity\User u WITH n.startup = u 
LEFT JOIN AdminBundle\Entity\KeywordOffer ko WITH ko.users = u 
 WHERE n.network = :oUser 
AND (u.lastName like '%blabla%' OR u.firstName like '%blabla%' OR u.company like '%blablaa%') 
AND ko in ('7','6')

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

感谢您的回答。不幸的是,我曾经尝试过这个,结果并不好。但我找到了另一种方法。我已经在两个不同的请求中删除了请求。我首先在我的内连接上过滤,然后在左连接中使用我的结果再创建一个。