2015-09-26 2 views
0

Я добавил столбец для токена активации в таблицу моих пользователей, и я хочу добавить эту случайную строку при вставке новых пользователей.Laravel 5.1 создать пользователя не будет вставлять добавленный столбец?

Так что в моем AuthController у меня есть это:

protected function create(array $data) 
{ 
    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'activation_token' => str_random(60), 
    ]); 
} 

Пользователь прибудет зарегистрированный но activation_token колонке остается пустым ??? Что я делаю неправильно?

+0

Что делает ваш 'модель User' выглядеть? – James

+0

Возможно, у вашей колонки activation_token есть неправильный тип? – mcklayin

ответ

1

Согласно docs, вы должны добавить это новое поле в качестве поля, назначаемого массой, в вашу модель User.

Возможно, вы столкнулись с проблемой, так как вы не обновили это, и в результате activation_token исключается из вставки.

Попробуйте обновить свои массовые присваиваемых полей в User модели что-то вроде этого:

protected $fillable = ['name', 'email', 'password', 'activation_token']; 
+0

Должен ли я добавить здесь тоже 'protected $ hidden = ['password', 'remember_token', 'activation_token'];' –

+0

Не нужно, просто добавьте его в защищенный $ fillable, и вы будете хороши как золото. – James

Смежные вопросы