1

アプリケーションプロジェクトにKohana3.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()メソッドも含める必要はありませんか?

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 に答える