Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Доброго времени суток!
Вот, в RegisterController, добавлено поле avatar:
protected function create(array $data) {
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'avatar' => 'assets/img/default/avatar.png', //аватар по умолчанию
]);
}
И вот такая ошибка:
"SQLSTATE[HY000]: General error: 1364 Field 'avatar' doesn't have a default value (SQL: insert into `users` (`name`, `email`, `password`, `updated_at`, `created_at`) ..."
Никто не подскажет, что с этим можно сделать, или как обойти? Цель простая - заполнение поля значением по умолчанию.
Изменено Androbim (10.10.2016 09:27:39)
Не в сети
Нужно в модель User, массив $fillable добавить поле avatar.
Не в сети
Не в сети
А такой еще *ленивый* вопрос. Наверное, применять это имеет смысл только для тех полей, которые пользователь редактирует из фронтэнда? Ну, скажем, в админке этим занимаешься ты сам, и другим туда хода нет.
Не в сети
Что "это"? Массовое заполнение (Mass Assignment)?
Не в сети
Сорри, так точно. Помещать поля в $fillable.
Не в сети
Я везде использую массовое заполнение. ) Просто некоторые вещи нужно проверять перед тем, как записывать в базу на случай, если "хакеры" решат изменить какое-либо поле в своем профиле (установить флаг платной подписки, например).
Изменено AlexeyMezenin (01.11.2016 12:34:29)
Не в сети
Спасибо :-)
Не в сети
Страницы 1