通常我只是懶加載我的實體,但現在我需要創建一個能夠將節點作爲數組獲取的DQL。我嘗試了好幾種查詢,但我不能得到它的工作,下面是兩個示例:DQL - 讀取相關實體
// example one
$this->em->createQuery('SELECT n FROM Entities\Node n WHERE n.nodeType INSTANCE OF ?1')
->setParameter(1, $type)->getArrayResult();
// example two
$this->em->createQuery('SELECT n FROM Entities\Node n WHERE n.nodeType_id = ?1')
->setParameter(1, $type->id)->getArrayResult();
林不知道實際上什麼實例時,但它沒有工作,使用nodeType_id沒有工作或者是因爲我的註釋沒有隻有數據庫表的nodeType_id。
那麼對此有什麼正確的方法?
如果你的答案有效 - 太好了!如果在nodeType上需要其他條件,那麼更一般的情況是使用連接:''SELECT n FROM Entities \ Node n JOIN n.nodeType nt WHERE nt.id =?1'and nt.someOtherProperty =?2'' – rojoca 2011-05-05 15:28:45