1

Sentry::Eloquent モデル内から呼び出そうとしています。ただし、エラーが発生しています

Non-static method Cartalyst\Sentry\Sentry::getUserProvider() should not be called statically, assuming $this from incompatible context

現在のコードは以下です。私は何を間違っていますか?

<?php
namespace App\Model;

use Cartalyst\Sentry\Users\Eloquent\User as CartalystUser;
use Cartalyst\Sentry\Sentry;


class User extends CartalystUser {

    protected $table = 'users';

    protected $hidden = array('password');


    public function __construct() {

        $users = Sentry::getUserProvider()->findAll();

        print_r($users);

        exit;
    }

    public function brands() {
        return $this->hasMany('Brand'); 
    }
}

?>
4

2 に答える 2

2

Sentry::getUserProvider()インスタンスが実行されるコントローラーから呼び出す必要があります。

モデルを拡張する場合は、次のSentry\Userようにモデルを作成します。

class User extends Cartalyst\Sentry\Users\Eloquent\User { ... }
于 2013-08-15T14:15:45.150 に答える
0

私の回答はあなたの質問には遅すぎる可能性がありますが、他の開発者にとっては役立つかもしれません。

回答: 名前空間を編集するだけです。

変更: Cartalyst\Sentry\Sentry を使用します。

To : Sentry を使用します。

于 2013-09-11T22:44:03.030 に答える