2014-09-02 46 views
0

我有symfony和doctrine recurent問題。 我必須在另一個應用程序的數據庫中播放,所以我無法設置實體之間的關係。使用原則查詢生成器在沒有實體之間關係的情況下製作普通表

當我想要做一個左連接上一些表,條令返回如數據的一個奇怪的格式:

array[0] => first entity 
array[1] => fisrt joined entity 
array[2] => second entity 
array[3] => second joined entity 
... 

我只是想有:

array[0] => object(id, name, joined entity).... 

我怎麼能這樣做那。

下面是我的要求之一:

$qb = $this->createQueryBuilder('o')->select('o, childs'); 

     $qb->where('o.unitid = :unitid') 
        ->setParameter('unitid', $unitid); 

     $qb->leftJoin(
     '\Entity\Objectconnectors', 
     'oc', 
     \Doctrine\ORM\Query\Expr\Join::WITH, 
     'oc.parentkey = o.key' 
) 
      ->leftJoin(
     '\Entity\Objects', 
     'childs', 
     \Doctrine\ORM\Query\Expr\Join::WITH, 
     'oc.childkey = childs.key' 
); 





     return $qb->getQuery() 
        ->getResult(); 

謝謝你在前進,

+0

也許'原生SQL'? http://doctrine-orm.readthedocs.org/en/latest/reference/native-sql.html – dmnptr 2014-09-02 15:11:08

+0

現在它是我找到的唯一解決方案。 我認爲任何事情都可以通過索引,但我沒有設法使用它 – Jaycreation 2014-09-02 18:08:08

回答

1

你在一個類中定義的關係要做到這一點,否則學說不能hydratate數據的實體對象,因爲該類不定義這種關聯。

+0

這正是我無法做到的 – Jaycreation 2014-09-04 06:23:27

+0

爲什麼你不能這樣做?你所要求的對象(id,name,joined entity)已加入實體定義,你必須編寫這個對象來存檔, – skler 2014-09-04 09:14:37

+0

我很害怕這個,因爲我不能修改第二個數據庫。 我可以只讀訪問它。 如果我設置了學說關係,會有什麼結果? – Jaycreation 2014-09-04 12:11:10

相關問題