Я использую Doctrine ORM 1.2 и Symfony 1.4 и хочу создать метод в классе myUser, который будет расширять экземпляр Doctrine_Query, передаваемый в качестве аргумента, с некоторыми дополнительными левыми соединениями и условиями.Хитрость в том, что я не всегда хочу, чтобы эти левые объединения выполнялись с корневым компонентом запроса, и мне нужно знать, какой таблице (классу записей) соответствует псевдоним - в некоторых случаях я хотел бы передать псевдонимдругой компонент и ожидайте, что он будет дополнен некоторыми дополнительными левыми объединениями и условиями.
Мой вопрос: как я могу проверить, какой компонент (по существу таблица) представляет данный псевдоним?Предположим, я создаю экземпляр Doctrine_Query:
$query = Doctrine_Query::create();
$query->from('Folder f')->leftJoin('f.ChildFolders cf');
Теперь я хочу, чтобы мой метод в классе myUser добавил несколько соединений в таблицу с псевдонимом 'cf', но в зависимости от таблицы, которая имеет псевдонимы 'cf'.Я хочу назвать это так:
$this->getUser()->limitQueryResultsWithSomeCondition($query, 'cf');
Это должно вернуть запрос с дополнительными элементами.Как я могу узнать, какая таблица обозначена псевдонимом 'cf' и существует ли она вообще в данном запросе?
Довольно просто, когда это корневая таблица запроса, который необходимо расширить, но я не могу найти способ сделать это в других случаях.