查询只返回codeigniter中的一行

时间:2011-11-27 00:46:05

标签: php codeigniter

在我的模型中,我有以下查询:

function myquerydata() {
   $data = array();
   $query = $this->db->query('select max(field1) as field11, max(field2) as field22, max(field3) as field33 from my_table');
   foreach ($query->result() as $row) {
        $row->field11;
        $row->field22;
        $row->field33;
    }
}

此查询仅返回一行。

在我的控制器中,我有下一个代码:

$this->load->model('my_model');
$fields=$data['rows']=$this->my_model->myquerydata();

我的问题是如何从控制器调用数据字段11,字段22,字段33。当我申请foreach时出现错误:

foreach ($fields as $row){
  echo $row->field11,
  echo $row->field22,
  echo $row->field33,
}

我的错误是什么?

2 个答案:

答案 0 :(得分:2)

这样做:

function myquerydata() {

    $data = array();
    $query = $this->db->query('select max(field1) as field11, max(field2) as field22, max(field3) as field33 from my_table');
    //return the result and call from controller
    return $query->result();
}

并将以下内容放入您的控制器

$this->load->model('my_model');
$fields=$data['rows']=$this->my_model->myquerydata();
print_r($fields);

答案 1 :(得分:1)

你的函数什么也没有返回。您必须返回数据才能使用它。

return $query->result();