2016-04-19 4 views
2

この質問には多くの質問があります。しかし説明は決して完全ではありません。 App \ UserファイルをApp \ Entities \ Userに移動するための手順App Userを新しいディレクトリに変更して設定する

私はLaravel 5.2をインストールしており、デフォルトのApp \ User(app/User.php)をApp \ Entitiesフォルダに移動しました。 User.phpファイル内の名前空間を名前空間App \ Entitiesに変更します。だから私は、アプリケーションの\エンティティを使用する必要がUserモデルにアクセスするには、\ほとんどのパッケージは、この新しいディレクトリでは動作しません、問題はそう、私はかどうかを疑問に思って

'providers' => [ 
     'users' => [ 
      'driver' => 'eloquent', 
      'model' => App\Entities\User::class, 
     ], 

     // 'users' => [ 
     //  'driver' => 'database', 
     //  'table' => 'users', 
     // ], 
    ], 

私も設定の\ auth.phpでこの設定を変更したユーザー私が紛失しているその他の設定があります。たとえば、私は、パッケージtymondesigns/JWT-AUTHをインストールしましたが、今、私はこのエラーを取得しています:

ReflectionException in Container.php line 738: 
Class App\User does not exist 

パッケージには、アプリケーションの\エンティティを見つけることができません\ユーザーと私はこれで考えるデフォルトのApp \ユーザーを使用していますパッケージには、Userモデルをロードしようとするファイル[ベンダー\タイモン\ SRC \プロバイダ\ JWTAuthServiceProvider.php]

$this->app['Tymon\JWTAuth\Providers\User\UserInterface'] = function ($app) { 
    return $app['tymon.jwt.provider.user']; 
}; 

パッケージには、config.phpファイルを持っていますが、設定はどちらか動作していません。

/* 
|-------------------------------------------------------------------------- 
| User Model namespace 
|-------------------------------------------------------------------------- 
| 
| Specify the full namespace to your User model. 
| e.g. 'Acme\Entities\User' 
| 
*/ 

'user' => 'App\Entities\User', 
+0

なぜあなたのラーベルモデルの場所を変更しようとしていますか? – Psyco430404

答えて

1

Laravel 5はPSR-4オートローダーを使用しているため、モデルを別のディレクトリに移動してすべてのモデルの名前空間を変更してください。

その後、composer dumpautoload -oを実行してください。

あなたのパッケージが動作しませんコマンドを実行した後、パッケージにUserモデルの完全な名前空間を使用しようとすると:

'user' => '\App\Entities\User', 

また、config\auth.php(これに感謝する@ user5500750)の変化名前空間:

'model' => App\Entities\User::class, 
+2

config \ auth.phpには、更新が必要なユーザーモデルのネームスペースの設定もあります。 – LogicDev

+0

ありがとう、私はこれを私の答えに加えました。すべて今働いている? –

+0

ありがとうございます。すべてが今働きます。 – LogicDev

関連する問題