Как я могу преобразовать результат запроса БД в массив - PullRequest
1 голос
/ 04 апреля 2011

оригинал. Я думал, что $ query является объектом массива, так как я могу напечатать эти данные в виде таблицы списка следующим образом.код моего контроллера

$data['dates'] = $this->calendar_model->get_cal_eventDate();
$this->load->library('table');
$this->load->view('my_test', $data);

код моего просмотра

echo $this->table->generate($dates);

, но когда я изменил свой код, чтобы попытаться напечатать $ tbDataArr через foreach.Это не сработало.Как я могу преобразовать результат запроса $ (значения поля eventDate) в объект массива.

function get_cal_eventDate() {
    $this->db->select('eventDate');
        $query = $this->db->get('tb_event_calendar');
        return $query;
}

$tbDataArr = $this->calendar_model->get_cal_eventDate();

foreach ($tbDataArr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}

Ответы [ 3 ]

8 голосов
/ 04 апреля 2011

Вы используете CodeIgniter? Если вы, вы можете сделать это

function get_cal_eventDate() {
    $this->db->select('eventDate');
    $query = $this->db->get('tb_event_calendar');
    $result = $query->result_array();
    return $result;
}

Если вам не нужна дополнительная информация о том, что вы делаете с вашим PHP.

4 голосов
/ 04 апреля 2011

Codeigniter, верно?

Используйте метод $query->result_array().

подробнее здесь:
http://codeigniter.com/user_guide/database/results.html

0 голосов
/ 04 мая 2018
    //Convert $query->result_array() to $query->result() after add new field in array

    $result = $query->result_array();
    for($i=0;$i<$query->num_rows();$i++){
        //insert new field in array (test_field with value 1)
        $result[$i]+=array('test_field'=>1);
        $result[$i] = (object)$result[$i];
    }
    return $result; //equivalent to return $query->result() without new field;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...