我在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')
感谢您的帮助
答案 0 :(得分:0)
感谢您的回答。不幸的是,我曾经尝试过这个,结果并不好。但我找到了另一种方法。我已经在两个不同的请求中删除了请求。我首先在我的内连接上过滤,然后在左连接中使用我的结果再创建一个。