1

我开始在我的应用程序项目中使用 Kohana 3.3。我创建了一个基本的 Account 控制器,其操作(登录/注销)可以完美地使用 ORM Auth 方法,而无需使用任何自定义模型。

public function action_login()
{
    if (Auth::instance()->logged_in())
    {
        $this->redirect('profile');
    }

    $this->template->content = View::factory('account/login')
        ->bind('message', $message)
        ->bind('errors', $errors);

    if (HTTP_Request::POST == $this->request->method()) 
    {   
        $user = ORM::factory('User')->login(
            $this->request->post('username'), 
            $this->request->post('password')
        );

        if ($user) 
        {
            $this->redirect('profile');
        } 
        else 
        {
            $message = 'Login failed';
        }
    }
}

但是当我尝试添加非常基本的 Model_User(扩展 Model_Auth_User)时:

class Model_User extends Model_Auth_User {}

我收到以下错误:

Call to undefined method Model_User::login()

由于模型扩展了模块的核心类,他不应该也包含 login() 方法吗?

4

1 回答 1

1

你应该像这样ORM::factory('User')替换Auth::instance()

$user = Auth::instance()->login($this->request->post('username'),$this->request->post('password'));

于 2013-02-14T19:55:33.593 回答