Преобразование строки в массив в phpGrid для вставки в postgresql

Я пытаюсь вставить строку в массив целых чисел, используя phpGrid с базой данных PostgreSQL. Мне пришлось преобразовать массив в строку, чтобы убрать скобки при отображении данных в сетке для просмотра, но когда я пытаюсь преобразовать строку обратно в массив после добавления поля, он не конвертируется в формат {1,2 , 3,4}. Я использую функцию string_to_array, которую предлагает для этого PostgreSQL. Вот код, который я использую:

$dg = new C_DataGrid("SELECT array_to_string(field, ', ') as field_to_string FROM tblname");

Это работает как ожидалось (удаляет {} из отображаемых данных), но когда я пытаюсь вставить, этот запрос выглядит следующим образом:

INSERT INTO tblname (field_to_string) VALUES ('1,2,3,4');

и это то, что я пытаюсь вставить (преобразовать в массив)

$arrFields['field_to_string'] = "string_to_array('" . $arrFields['field_to_string'] . "', ',')";

$sqlCrud = $db->db->GetInsertSQL($rs, $arrFields, get_magic_quotes_gpc(), true);

Любая помощь будет оценена.

Благодарю.

0

Решение

Можете ли вы повторить sqlCrud и узнать оператор SQL Insert, установив его DEBUG установить в истину? Вероятно, в операторе вставки произошла ошибка во время преобразования.

Ваш PostgreSql должен выглядеть примерно так:

INSERT INTO tblname(field_to_string) VALUES ('{1,2,3,4}'::varchar[])

Вы можете проверить PostGreSql с примерами преобразования массива в строку здесь: http://www.postgresonline.com/journal/archives/228-PostgreSQL-Array-The-ANY-and-Contains-trick.html

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]