Я использую стандартную аутентификацию механизма в Laravel 5.3, построен по команде: php artisan make:auth
.Как добавить данные в соответствующую таблицу в Auth Laravel?
Таким образом, он создал контроллер RegisterController
со следующими методами:
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]));
}
Итак, мне нужно расширить этот метод, чтобы добавить данные в соответствующую таблицу для таблицы пользователей. Для этого я делаю:
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
])->roles()->attach(Role::where('name', "admin"))->first());
}
После этого я получаю сообщение об ошибке:
FatalThrowableError in SessionGuard.php line 441:
Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, null given, called in \vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php on line 32