我的模型和控制器出了什么问题?

时间:2014-01-14 06:57:57

标签: php codeigniter codeigniter-2

对于我的生活,我无法理解为什么我在安装CodeIgniter和当前的MVC设置时收到错误。

我看到的错误是

致命错误:在第17行的/var/www/application/controllers/login.php中调用未定义的方法Login :: users_model()

控制器 application / controllers / login.php

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {

    $data = '';

    $this->load->model('users_model');

    $data['testing'] = $this->users_model()->test_user();

    $this->load->view('home',$data);


    }
}

模型 application / models / users_model.php

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Users_model extends CI_Model {

  function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }


  function test_user() {
      return 'Test User #1';
  }



}

查看 application / views / home.php

echo $testing;

3 个答案:

答案 0 :(得分:2)

不需要型号名称为

的功能支架
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {

    $data = '';

    $this->load->model('users_model');

    $data['testing'] = $this->users_model->test_user();

    $this->load->view('home',$data);

    }
}

答案 1 :(得分:1)

$data['testing'] = $this->users_model()->test_user();替换为控制器中的$data['testing'] = $this->users_model->test_user();

答案 2 :(得分:0)

只需在构造函数

中加载模型即可
public function __construct()
{
    parent::__construct();
    $this->load->model('users_model');
}

然后简单地调用任何控制器函数内的相关函数。

public function index()
{

$data = '';

$data['testing'] =  $this-> users_model-> test_user();

$this->load->view('home',$data);
}