Codeigniter: Как напечатать массив массивов от вида к модели - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть ajax, где он передает массив массивов или многомерный / 2-мерный массив, и когда я передаю его в контроллер для модели, мне нужно сделать Foreach внутри функции, чтобы я я могу получить $this->input->post('distance');, но я не знаю, как я могу напечатать массив массивов в модели или получить массив массивов, чтобы я мог сделать Foreach .

вот мой ajax:

 $.ajax({
        url: url + 'getBookTours',
        type: 'POST',
        data: data,
        success: function(data, textStatus, jqXHR) {
           swal("Booked!", "", "success");
        },
           error: function(jqXHR, textStatus, errorThrown) {
           swal("Save Error!", "", "error");
        }
 });

и в моем контроллере:

public function getBookTours(){
    $record = $this->mdl->bookTours();
    $this->output->set_output(json_encode($record));
}

и в моей модели:

public function bookTours(){
      $info = array (
        'total_price' => $this->input->post('fare'),
        'total_distance_km' => $this->input->post('distance'),
        'status' => 1,
        'ip' => $this->getUserIP(),
        'booked' => $time,
      );
    return $info;

  }

1 Ответ

0 голосов
/ 26 февраля 2020

Вы имеете в виду массив объектов?

[{'total_price':636 .....},{'total_price':8484....}]

Fisrt преобразует ваш массив в JSON var json = JSON.stringify(your_array); Измените ajax на следующие

data: {data : json},

В php

$data = json_decode($this->input->post("data"),true);
foreach($data as $obj){
   //now you can access
   echo $obj["total_price"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...