Проблема отправки массива из контроллера в модель в Codeigniter - PullRequest
0 голосов
/ 26 января 2019

Добрый вечер. В целях обучения я создаю скрипт CRUD с возможностью перетаскивания строк с использованием ajax. При отправке данных из контроллера в модель функция моей модели не может обработать массив, поэтому я столкнулся с проблемой.

Функция контроллера:

public function from_ajax() {
    $this->load->model('model');
    $ordem = $this->input->post('ordem');
    parse_str($ordem, $array_ordenado);
    var_dump($array_ordenado); //testing only
    $resultado = $this->model->reordem($array_ordenado);
    echo json_encode($resultado);           
}

var_dump на выходе контроллера:

array(1) { ["teste"]=> array(4) { [0]=> string(1) "1" [1]=> string(1) "3" [2]=> string(1) "2" [3]=> string(1) "4" } }

Вот моя модель функции:

public function reordem($data) {
    $this->db->select('page_order');
    $this->db->from('tbl_posts');
    return $this->db->update('tbl_posts', $data);
}

Как бы я отнесся к этому дампу массива в моей функции модели, чтобы я мог получить желаемое значение (те, что внутри "")?

Я также получаю эту ошибку: php / ошибка базы данных Спасибо за ваше время!

1 Ответ

0 голосов
/ 26 января 2019

Вам необходимо преобразовать массив в строку

$array_ordenado['teste'] = implode(",", $array_ordenado['teste']);

База данных не поддерживает тип данных массива.Приведенный выше код преобразует значение поля "teste" из массива в строку с запятыми в качестве разделителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...