我将laravel安装中的User.php移动到另一个文件夹并相应地调整了命名空间。但是,当我登录页面时,laravel无法找到该类并抛出错误。
我运行了composer clear-cash
和composer dump-autoload
,但由于Laravel仍在搜索App/User.php
而非App/Classes/User/User.php
User.php看起来像这样:
namespace App\Classes\User;
use App\Events\EventGenerator;
use App\Events\User\UserRegistered;
use App\Permission;
use App\Role;
use Laratrust\Traits\LaratrustUserTrait;
use \Illuminate\Contracts\Auth\Authenticatable as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Console\Command;
class User extends Model implements Authenticatable {
use EventGenerator;
(...)
答案 0 :(得分:3)
您需要在auth.php
在你的auth.php中
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Classes\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
想法是改变'model' => App\Classes\User::class,
到你班级的路径。
希望这有帮助
答案 1 :(得分:2)
在auth config中有对用户模型的引用,您可能需要在那里调整命名空间。
档案:config/auth.php
设置:providers -> users -> model