我正在使用Doctrine ORM 1.2和Symfony 1.4,我想在myUser類中創建方法,該方法將擴展Doctrine_Query實例作爲參數傳遞給一些其他左連接和條件。訣竅是,我並不總是希望這些左連接是用查詢的根組件創建的,我需要知道別名對應的表(記錄類) - 在某些情況下,我想傳遞一個別名另一個組件,並期望它補充一些額外的左連接和條件。如何查找與Doctrine ORM查詢中的別名相關的表?
我的問題是我如何檢查什麼組件(本質上是表)給定的別名?假設我創建一個Doctrine_Query實例:
$query = Doctrine_Query::create();
$query->from('Folder f')->leftJoin('f.ChildFolders cf');
現在我想在MYUSER類我的方法添加一些加入到別名爲「CF」但根據表,「CF」的別名不同的表。我想這樣稱呼它:
$this->getUser()->limitQueryResultsWithSomeCondition($query, 'cf');
這應該返回帶有附加元素的查詢。怎樣才能找出'cf'alias代表哪個表以及它在給定的查詢中是否完全存在?
當它是需要擴展的查詢的根表時非常簡單,但在其他情況下找不到方法。