Я хочу создать команду, которая будет генерировать новую учетную запись администратора. Команда запросит некоторые детали. Я хочу дать этой новой учетной записи поле типа admin, но я получаю сообщение об ошибке, что у моего поля типа нет значения по умолчанию. Что с ним не так?
код
Модель пользователя
class User extends Authenticatable
{
use Notifiable;
use SoftDeletes;
const ADMIN_TYPE = 'admin';
const DEFAULT_TYPE = 'default';
public function isAdmin() {
return $this->type === self::ADMIN_TYPE;
}
}
Создать: админ
public function handle()
{
$name = $this->ask('What is your full name?');
$username = $this->ask('What is your username? (this will be your display name)');
$email = $this->ask('What is your email?');
$country= $this->ask('Where do you live? (country)');
$password = $this->secret('Choose a password');
User::create([
'name' => $name,
'username' => $username,
'email' => $email ,
'password' => Hash::make($password),
'country' => $country,
'type' => User::ADMIN_TYPE,
'participated' => false,
]);
}
Регистрация контроллера для обычных пользователей
protected function create(array $data)
{
session()->flash('success', 'You have successfully created an account!');
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'participated' => false,
'type' => User::DEFAULT_TYPE,
'username' => $data['username'],
'country' => $data['country']
]);
Score::create(['user_id' => $user->id]);
return $user;
}
Error
SQLSTATE[HY000]: General error: 1364 Field 'type' doesn't have a default value