#php #laravel #vue.js
Вопрос:
Прежде всего, я хочу сказать, что я пробовал аналогичные проблемы с решениями, которые я нашел в переполнении стека.
Я только что перешел на новый, и проблема началась… Пробовал composer update
composer dump-autoload
и npm update vue-loader
не помог. Кажется, что-то не так с моделью пользователей, но я не могу понять, что не так.
модель пользователей:
lt;?php namespace AppModels; use IlluminateContractsAuthMustVerifyEmail; use IlluminateDatabaseEloquentFactoriesHasFactory; use IlluminateFoundationAuthusers as Authenticatable; use IlluminateNotificationsNotifiable; use LaravelSanctumHasApiTokens; class users extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; /** * The attributes that are mass assignable. * * @var string[] */ protected $fillable = [ 'first_name', 'last_name', 'username', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'email_verified_at' =gt; 'datetime', ]; }
Контроллер:
lt;?php namespace AppHttpControllersAuth; use AppHttpControllersController; use AppProvidersRouteServiceProvider; use AppModelsusers; use IlluminateFoundationAuthRegistersUsers; use IlluminateSupportFacadesHash; use IlluminateSupportFacadesValidator; class RegisterController extends Controller { /* |-------------------------------------------------------------------------- | Register Controller |-------------------------------------------------------------------------- | | This controller handles the registration of new users as well as their | validation and creation. By default this controller uses a trait to | provide this functionality without requiring any additional code. | */ use RegistersUsers; /** * Where to redirect users after registration. * * @var string */ protected $redirectTo = RouteServiceProvider::HOME; /** * Create a new controller instance. * * @return void */ public function __construct() { $this-gt;middleware('guest'); } /** * Get a validator for an incoming registration request. * * @param array $data * @return IlluminateContractsValidationValidator */ protected function validator(array $data) { return Validator::make($data, [ 'first_name' =gt; ['required', 'string', 'max:255'], 'last_name' =gt; ['required', 'string', 'max:255'], 'username' =gt; ['required', 'string', 'max:255'], 'password' =gt; ['required', 'string', 'min:8', 'confirmed'], ]); } /** * Create a new user instance after a valid registration. * * @param array $data * @return AppModelsusers */ protected function create(array $data) { return users::create([ 'first_name' =gt; $data['first_name'], 'last_name' =gt; $data['last_name'], 'username' =gt; $data['username'], 'password' =gt; Hash::make($data['password']), ]); } }
Комментарии:
1. Попробуйте удалить
composer.lock
файл и снова запуститеcomposer update
. Если это не сработает, попробуйте выстрелитьcomposer update --no-scripts
.2. Не помогло. Попробовал и то, и другое…
Ответ №1:
Замените use IlluminateFoundationAuthusers as Authenticatable
на use IlluminateFoundationAuthUser as Authenticatable
в User
модели.
Потому что в нем нет users
класса Auth
.
Дайте мне знать, решит ли это вашу проблему или нет.