Я работаю над шаблоном Active Record (похожим на RoR / Cake) для моей библиотеки Zend Framework. У меня такой вопрос: как мне определить, использует ли объект выбора псевдоним для таблицы или нет?
$select->from(array("c" => "categories"));
против
$select->from("categories");
и я передаю это функции "выборки", которая добавляет дополнительные объединения и так далее, чтобы автоматически получать отношения строк ... Я хочу добавить несколько пользовательских sql; либо «c.id», либо «category.id» в зависимости от того, как пользователь использовал метод «from».
Я знаю, что могу использовать
$parts = $select->getPart(Zend_Db_Select::FROM);
для получения данных from в виде массива, а имя таблицы или псевдоним, кажется, находятся в «слоте» 0 указанного массива. Имя таблицы или псевдоним всегда будут в нулевом слоте? то есть я могу надежно использовать:
$tableNameOrAlias = $parts[0];
Извините, если это сложно, но надеюсь, что вы можете помочь! :)