【问题标题】:query return only a row in codeigniter查询仅返回 codeigniter 中的一行
【发布时间】:2011-11-27 00:46:04
【问题描述】:

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

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();

我的问题是如何从控制器调用数据 field11、field22、field33。当我应用 foreach 时出现错误:

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

我的错误是什么?

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    这样做:

    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);
    

    【讨论】:

      【解决方案2】:

      你的函数什么都不返回。您必须返回数据才能使用它。

      return $query->result();
      

      【讨论】:

      • 我把 return $query->result();在我的模型中并发生此错误:致命错误:无法使用 stdClass 类型的对象作为数组中.....
      • 哪一行? Sudhir 的解决方案如何运作?顺便提一句。 result() 方法返回一个对象,而 result_array() 返回一个数组
      猜你喜欢
      • 2013-07-04
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      相关资源
      最近更新 更多