wpdb::get_col_info()
Отримує масив з інформацією про колонки останнього запиту.
Якщо у запиті колонки не визначено, функція поверне інформацію про всі колонки таблиці. Це може стати в нагоді, коли було повернуто об’єкт, про дані якого ми нічого не знаємо.
Працює на основі кешу, тому спочатку потрібно зробити запит, використовуючи get_var() і т.д. а потім викликати цю функцію – вона поверне дані колонок останнього запиту.
{} Це метод класу: wpdb{}
wpdb::load_col_info()
Хуків немає.
Повертає
Разное. Дані стовпчиків.
Використання
Global $wpdb; $wpdb->get_col_info( $info_type, $col_offset );
- $info_type
(рядок) Вказує, яку інформацію нам потрібно отримати. Список можливих значень:
name– Назва колонки.table– Назву таблиці до якої належить колонка.max_length– Максимальна довжина даних колонки.not_null– 1 якщо комірка колонки не може набувати значення NULL.primary_key– 1 якщо колонка є первинним ключем.unique_key– 1 якщо комірки колонки повинні бути завжди унікальними.multiple_key– 1 якщо осередки колонки можуть бути не унікальні.numeric– 1 якщо колонка містить числові дані.blob– 1, якщо колонка містить дані типу BLOB (двійкові дані).type– Тип колонки.unsigned– 1 якщо колонка має тип даних UNSIGNED .zerofill– 1 якщо колонка має тип даних ZEROFILL .
Типово: name
- $col_offset
(число) Вказівник, інформацію про яку колонку потрібно отримати:
-1— буде отримано інформацію про всі колонки у вигляді масиву. За замовчуванням.0,1,2,...— буде повернуто інформацію про вказану колонку, де 0 – перша колонка, 1 – друга і т.д.
За замовчуванням: -1
Приклади
#1 Демонстрація роботи
Зробимо запит:
Global $wpdb; $results = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta");
Тепер отримаємо дані про колонки таблиці цього запиту:
$cols_data = $wpdb->get_col_info( 'name' ); /* Array ( [0] => meta_id [1] => post_id [2] => meta_key [3] => meta_value ) */ $cols_data = $wpdb->get_col_info( 'max_length'); /* Array ( [0] => 6 [1] => 5 [2] => 45 [3] => 20205 ) */ $cols_data = $wpdb->get_col_info( 'type' ); /* Array ( [0] => 8 [1] => 8 [2] => 253 [3] => 252 ) */
Що буде, якщо вказати неіснуюче ім’я колонки:
$cols_data = $wpdb->get_col_info( 'primary_key' ); /* Notice: Undefined property: stdClass::$primary_key in /wpexample.com/public_html/wp-includes/wp-db.php on line 3435 Notice: Undefined property: stdClass::$primary_key in /wpexample.com/public_html/wp-includes/wp-db.php on line 3435 Notice: Undefined property: stdClass::$primary_key in /wpexample.com/public_html/wp-includes/wp-db.php on line 3435 Notice: Undefined property: stdClass::$primary_key in /wpexample.com/public_html/wp-includes/wp-db.php on line 3435 Array ( [0] => [1] => [2] => [3] => ) */
Щоб отримати дані окремої колонки, потрібно вказати її індекс у другому параметрі:
echo $wpdb->get_col_info( 'name', 0 ); //> meta_id echo $wpdb->get_col_info( 'name', 1 ); //> post_id echo $wpdb->get_col_info( 'max_length', 0 ); //> 6 echo $wpdb->get_col_info( 'max_length', 1); //> 5
список змін
| З версії 0.71 | Введено. |
Код wpdb::get_col_info() wpdb::get col info WP 6.0.2
public function get_col_info( $info_type = 'name', $col_offset = -1 ) {
$this->load_col_info();
if ( $this->col_info ) {
if ( -1 === $col_offset ) {
$i = 0;
$new_array = array();
foreach ((array) $this->col_info as $col) {
$new_array[ $i ] = $col->{$info_type};
$i++;
}
return $new_array;
} else {
return $this->col_info[ $col_offset ]->{$info_type};
}
}
}