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