[英]Doctrine2 QueryBuilder Join
So, I'm new to doctrine, and I'm trying to do a basic joint, but I guess I'm missing something, on my entities or I don't know for sure. 因此,我是该学说的新手,我正在尝试进行基本的结合,但是我想我在我的实体上缺少某些东西,或者我不确定。
Doctrine Repository: 学说资料库:
$queryBuilder = $this->createQueryBuilder()
->select('c.*, a.*')
->from('My\Entity\CompanyAdminNotes', 'c')
->innerJoin('Administrators','a','a.id = c.admin_id')
->where('c.admin_id = :admin_id')
->setParameter('admin_id', $id);
return $queryBuilder->getQuery()->getResult();
And I get the following error 我得到以下错误
Message: [Semantical Error] line 0, col 76 near 'a, My\\Entity\\CompanyAdminNotes': Error: Identification Variable Administrators used in join path expression but was not defined before.
消息:[语义错误]第0行,'a,My \\ Entity \\ CompanyAdminNotes'附近的第76列:错误:标识变量管理员在联接路径表达式中使用,但之前未定义。
I'm not sure if my query it's wrong or something else isn't set. 我不确定查询是否错误或未设置其他内容。 Can you guys give me a hint?
你们能给我个提示吗?
try to change this: 尝试更改此:
->innerJoin('Administrators','a','a.id = c.admin_id')
to this: 对此:
->innerJoin('My\Entity\Administrators','a','a.id = c.admin_id')
Because It need the path as you done into the from
因为它需要您
from
的路径
UPDATE 更新
Trying another solution like this: 尝试这样的另一种解决方案:
$queryBuilder = $this->createQueryBuilder('c')
->select('c, a')
->from('My\Entity\CompanyAdminNotes', 'c')
->innerJoin('My:Administrators','a','a.id = c.admin_id')
->where('c.admin_id = :admin_id')
->setParameter('admin_id', $id);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.