[英]Doctrine2 Multiple Join works with createQuery but not with queryBuilder
[英]Doctrine2 QueryBuilder Join
因此,我是該學說的新手,我正在嘗試進行基本的結合,但是我想我在我的實體上缺少某些東西,或者我不確定。
學說資料庫:
$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行,'a,My \\ Entity \\ CompanyAdminNotes'附近的第76列:錯誤:標識變量管理員在聯接路徑表達式中使用,但之前未定義。
我不確定查詢是否錯誤或未設置其他內容。 你們能給我個提示嗎?
嘗試更改此:
->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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.