所以,我是学说的新手,我正在努力做一个基本的联合,但我想我错过了一些东西,在我的实体上,或者我不确定。
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();
我收到以下错误
消息:[语义错误]第0行,第76行附近'a, 我的\ Entity \ CompanyAdminNotes':错误:标识变量 管理员在连接路径表达式中使用但未定义 之前。
我不确定我的查询是错还是其他没有设置。你们能给我一个暗示吗?
答案 0 :(得分:2)
尝试改变这个:
->innerJoin('Administrators','a','a.id = c.admin_id')
到此:
->innerJoin('My\Entity\Administrators','a','a.id = c.admin_id')
因为它需要你在from
更新
尝试这样的另一种解决方案:
$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);