簡體   English   中英

Doctrine2 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM