Как получить имя столбца с помощью Zend DB

Как получить имя столбца с помощью Zend DB


person monkey_boys    schedule 02.04.2009    source источник
comment
Возможно, вам следует немного описать, что вы пытаетесь сделать... Однако ответ Apikot является отправной точкой.   -  person Stefan Gehrig    schedule 02.04.2009


Ответы (5)


Это правильный ответ, старые ответы неверны или устарели:

$cols = $table->info(Zend_Db_Table_Abstract::COLS); 
person corné    schedule 21.09.2009
comment
переписал ваш вступительный текст, так как SO не знает «натыкания», а вопросы/ответы не считаются старыми. на самом деле SO — это вики, и ее обновление — одна из лучших вещей, которые вы можете сделать! +1 - person markus; 21.09.2009

$metadata = $db->describeTable($tableName);
$columnNames = array_keys($metadata);

http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.list-describe

person vartec    schedule 02.04.2009
comment
На самом деле это не на 100% правильно, поскольку $metadata — это ассоциативный массив ('column_name' => array()) ассоциативных массивов (по одному для каждого столбца таблицы). - person Stefan Gehrig; 02.04.2009
comment
добавить имя схемы в $db-›describeTable($tableName, $schema); у меня только что была ошибка при использовании оракула, который принимает старые имена столбцов, если я их изменил, и мне пришлось указать схему, чтобы он возвращал правильные имена столбцов - person Mouna Cheikhna; 05.03.2012

Предыдущий ответ относится только к версии ‹ 2.
Для текущей версии ZF (2.2) используйте:

$table = new Zend\Db\TableGateway\TableGateway('table', $Dbadapter, new Zend\Db\TableGateway\Feature\MetadataFeature());
$columns = $table->getColumns();

http://framework.zend.com/manual/2.2/en/modules/zend.db.table-gateway.html#tablegateway-features http://framework.zend.com/manual/2.2/en/modules/zend.db.metadata.html

person Paamand    schedule 22.05.2013

Вы можете использовать метод descriptionTable

person Andrei Serdeliuc ॐ    schedule 02.04.2009

Мне нравится этот способ:

$table->info('cols');
person Diogo Alves    schedule 23.05.2013