原始我认为$ query是数组对象,因为我可以将这些数据打印到这样的列表表中。 我的控制器代码
$data['dates'] = $this->calendar_model->get_cal_eventDate();
$this->load->library('table');
$this->load->view('my_test', $data);
我的观看代码
echo $this->table->generate($dates);
但是当我更改代码以尝试通过foreach
打印$ tbDataArr时。它没用。如何将$ query结果(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";
}
答案 0 :(得分:8)
您使用的是CodeIgniter吗?如果你是你可以做到这一点
function get_cal_eventDate() {
$this->db->select('eventDate');
$query = $this->db->get('tb_event_calendar');
$result = $query->result_array();
return $result;
}
如果不需要更多关于您使用PHP做什么的信息。
答案 1 :(得分:4)
Codeigniter,对吧?
使用$query->result_array()
方法。
在此处查看更多:
http://codeigniter.com/user_guide/database/results.html
答案 2 :(得分:0)
//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;