Список полей Field() CodeIgniter извлекает имена полей таблицы из всех схем, а не только из однойPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Список полей Field() CodeIgniter извлекает имена полей таблицы из всех схем, а не только из одной

Сообщение Anonymous »

Я подключаюсь к базе данных PostgreSQL в CodeIgniter и пытаюсь использовать метод $this->db->field_list() для доступа к именам полей моей таблицы. Проблема в том, что он, похоже, просматривает все схемы и извлекает поля из нескольких таблиц с одинаковым именем в разных схемах. Результатом является список уникальных полей в обеих таблицах, а это не то, что мне нужно.
Я подозреваю, что под капотом метод field_list() делает это:

Код: Выделить всё

SELECT ... FROM information_schema.COLUMNS WHERE table_name = 'my_table'
но, к сожалению, у меня есть my_table в нескольких схемах.
Мне нужно, чтобы это было сделано:

Код: Выделить всё

SELECT ... FROM information_schema.COLUMNS WHERE table_name = 'my_table' AND table_schema = 'my_schema_1'
Я могу просто запросить информационную схему напрямую и получить
эквивалент этой функции, но я просто не понимаю, почему она
не распознает определенную схему в файле конфигурации моей базы данных:

Код: Выделить всё

$db['default'] = array(
'dsn' => 'pgsql:host=my_host_name;port=5432;dbname=mydb;',
'hostname' => '',
'username' => 'user',
'password' => 'password',
'database' => 'mydb',
'schema'   => 'my_schema_1',
'dbdriver' => 'pdo',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => TRUE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Нужно ли мне определять схему в DSN или что я здесь делаю не так?
Я пытался найти в Интернете альтернативные строки DSN, но не нашел ни одной, где схему можно было бы определить для pgSQL.>

Подробнее здесь: https://stackoverflow.com/questions/555 ... ll-schemas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»