在Codeigniter构造函数中获取数据

时间:2019-01-31 16:24:01

标签: mysql codeigniter construct

我尝试在Codeigniter构造函数中从数据库中获取数据 但出现未定义的方法错误

控制器-

class Welcome extends CI_Controller
function __construct()
{
parent::__construct();
$this->load->model('Login');
$this->Login->getadminnav();
}
}

模型-

class Login extends CI_Model 
{
public function adminnav()
{
$query="SELECT * from adminnav where status='1'";
$query->row_array();
return true;
}
}

3 个答案:

答案 0 :(得分:0)

您必须先加载正在使用的模型:

$this->load->model('login_model');
$this->Login->getadminnav();

请记住将模型重命名为Login_model

答案 1 :(得分:0)

尝试这些条码。

控制器:

class Welcome extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->load->model('Login');
        $this->Login->adminnav();
    }
}

型号:

class Login extends CI_Model{
    public function adminnav(){
        $this->load->database();
        $sql = "SELECT * from adminnav where status='1'";
        $result = $this->db->query($sql);
        return $result;
    }
}

我在您的代码中看到-

  1. 在控制器中,您没有在控制器名称后面的第二个括号中开始。
  2. 您所定义的函数名称作为模型“adminnav”,但把它称为如在控制器“getadminnav”
  3. 您没有加载模型数据库(如果你已经装好了在autoload.php那么在这里也没必要)

无论如何,请让我知道您的问题是否已解决。

答案 2 :(得分:0)

您正在调用getadminnav(),但是在您的模型中,方法名称为adminnav。并将模型名称更改为Login_model。 试试这个:

class Welcome extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->load->model('Login_model');
        $this->Login->adminnav();
    }
}

//型号

class Login_model extends CI_Model{
    public function adminnav()
{
$query="SELECT * from adminnav where status='1'";
$query->row_array();
return true;
}
}