Codeigniter:如何在Codeigniter中的单个控制器函数中调用多个模型函数


Codeigniter: how to call multiple model function in single controller function in codeigniter

我是coidigniter的新手。

如果我从控制器函数调用单模型方法,那么它工作正常。

如果我不尝试通过单个控制器函数从单个模型调用多个模型函数,那么我得到

胎儿错误:在布尔值上调用成员函数 result()

我的代码看起来像这样

控制器.php

public function get_details(){
   $this->my_model->get_company();  //first call
   $this->my_model->get_employee();  //second call
}

my_model.php

public function get_company(){
 $qry="CALL get_company_details";
 $result=$this->db->query($qry);
 foreach($result->result() as $row){
   $data[]=$row;
 }
return $data;
}

public function get_employee(){
 $qry="CALL get_employee_details";
 $result=$this->db->query($qry);
 foreach($result->result() as $row){
   $data[]=$row;
 }
return $data; 
} 

我可以这样打电话吗?请帮帮我...

简单的错别字:

改变

function get_company(){

function get_employee(){

您已经定义了两次相同的函数。

确保数据库连接在应用程序/配置/数据库中正常.php

$data = array();
    $qry="SELECT * FROM . . . . ."; // your query 
    $result=$this->db->query($qry);
    if($result->num_rows() > 0){
     foreach($result->result() as $row){
       $data[]=$row;
     }
    }

    return $data; 

替换

$result=$this->db->query($qry);
 foreach($result->result() as $row){
   $data[]=$row;
 }
return $data;

return $result->result_array();

这应该可以解决您的问题。您可以查看 CodeIgniter 文档的 result_array() 部分。