0

以下是场景:我在 CodeIgniter 2.0.2 中集成了 HMVC。创建了一个具有以下结构的模块。

/应用程序/模块/登录

/应用程序/模块/登录/控制器

/application/modules/login/controllers/login.php

/application/modules/login/models/login.php

/application/modules/login/views/login_form.php

控制器/login.php 代码

class Login extends CI_Controller{
    public function index(){
       //load login form view
    }
    public function authenticate(){
       $model = $this->load->model('login'); //tried with Login
       $model->validate(); //shows error here
    }
}

/views/login_form.php

<form name='LoginForm' method='post' action='/login/authenticate'>

/models/login.php

class Login extends CI_Model{
  public function validate(){
    echo $this->input->post('EmailId');
    echo $this->input->post('Pword');
  }
}

输出: 出现错误,指示未定义的方法 Login::validate() 在控制器 Login 中创建 validate() 方法时,它可以工作。但它不应该发生..即使我正在加载一个名为 Login 的模型,为什么它指向 Login Controller。

任何人都可以帮助我。我的做法对吗?欢迎提出建议...

4

1 回答 1

3

您正在错误地加载和访问您的模型。查看文档以获取更多示例。

将您的方法更改authenticate()为:

public function authenticate() {
    $this->load->model('login');
    $this->login->validate();
}
于 2011-09-26T13:27:02.737 回答