我开始将Kohana 3.3用于我的应用程序项目。我创建了一个基本的帐户控制器,其操作(登录/注销)使用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()方法吗?
答案 0 :(得分:1)
您应该将ORM::factory('User')
替换为Auth::instance()
,如此
$user = Auth::instance()->login($this->request->post('username'),$this->request->post('password'));