Spec-Zone.ru › CodeIgniter 3

Сведения о базе данных

Метаданные таблицы

Эти функции позволяют получить информацию о таблицах.

Список таблиц в вашей базе данных

$this->db->list_tables();

Возвращает массив, содержащий имена всех таблиц в базе данных, к которой вы в настоящее время подключены. Пример:

$tables = $this->db->list_tables();

foreach ($tables as $table)
{
        echo $table;
}

Определение наличия таблицы

$this->db->table_exists();

Иногда полезно узнать, существует ли определенная таблица, прежде чем выполнять операцию с ней. Возвращает логическое значение TRUE/FALSE. Пример использования:

if ($this->db->table_exists('table_name'))
{
        // some code...
}

Примечание

Замените table_name на имя таблицы, которую вы ищете.

Метаданные поля

Список полей в таблице

$this->db->list_fields()

Возвращает массив, содержащий имена полей. Этот запрос можно вызвать двумя способами:

1. Вы можете указать имя таблицы и вызвать его из объекта $this->db->:

$fields = $this->db->list_fields('table_name');

foreach ($fields as $field)
{
        echo $field;
}

2. Вы можете собрать имена полей, связанные с любым запросом, вызвав функцию из объекта результата вашего запроса:

$query = $this->db->query('SELECT * FROM some_table');

foreach ($query->list_fields() as $field)
{
        echo $field;
}

Определение наличия поля в таблице

$this->db->field_exists()

Иногда полезно узнать, существует ли определенное поле, прежде чем выполнять действие. Возвращает логическое значение TRUE/FALSE. Пример использования:

if ($this->db->field_exists('field_name', 'table_name'))
{
        // some code...
}

Примечание

Замените field_name на имя столбца, который вы ищете, и замените table_name на имя таблицы, которую вы ищете.

Получение метаданных поля

$this->db->field_data()

Возвращает массив объектов, содержащих информацию о поле.

Иногда полезно собрать имена полей или другие метаданные, такие как тип столбца, максимальная длина и т. д.

Примечание

Не все базы данных предоставляют метаданные.

Пример использования:

$fields = $this->db->field_data('table_name');

foreach ($fields as $field)
{
        echo $field->name;
        echo $field->type;
        echo $field->max_length;
        echo $field->primary_key;
}

Если вы уже выполнили запрос, вы можете использовать объект результата вместо указания имени таблицы:

$query = $this->db->query("YOUR QUERY");
$fields = $query->field_data();

Следующие данные доступны из этой функции, если это поддерживается вашей базой данных:

  • name - имя столбца
  • max_length - максимальная длина столбца
  • primary_key - 1, если столбец является первичным ключом
  • type - тип столбца

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/database/metadata.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API