Làm thế nào để có được Tên Cột Với Zend DBLàm thế nào để có được Tên Cột Với Zend DB
Trả lời
Đây là câu trả lời đúng, câu trả lời cũ sai hoặc lỗi thời:
$cols = $table->info(Zend_Db_Table_Abstract::COLS);
viết lại văn bản giới thiệu của bạn vì SO không biết 'va chạm' và câu hỏi/câu trả lời không được coi là cũ. trên thực tế SO là một wiki và cập nhật nó là một trong những điều tốt nhất bạn có thể làm! +1 – markus
Bạn có thể sử dụng phương pháp describeTable
$metadata = $db->describeTable($tableName);
$columnNames = array_keys($metadata);
http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.list-describe
Điều đó không thực sự chính xác 100% vì $ metadata là một mảng kết hợp ('column_name' => array()) của mảng kết hợp (một cho mỗi cột của bảng). –
thêm tên của schame vào $ db-> describeTable ($ tableName, $ schema); , tôi chỉ có một lỗi bằng cách sử dụng oracle mà có tên cột cũ nếu tôi đã thay đổi chúng và đã phải xác định lược đồ cho nó để trả về tên cột phải –
Câu trả lời trước chỉ áp dụng cho phiên bản < 2.
Đối với phiên bản hiện tại của ZF (2.2) sử dụng:
$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
Tôi thích theo cách này:
$table->info('cols');
Có lẽ bạn nên mô tả một chút những gì bạn' đang cố gắng làm ... Câu trả lời của Apikot là một điểm khởi đầu. –