Я пытаюсь научиться пользоваться Laravel, и до сих пор у меня не было никаких проблем. Затем я попытался реализовать пример проверки подлинности.laravel eloquent error in save password
1) Я создал миграционный файл, в котором я установить таблицу пользователя (пароль установлен на 60, маркер установлен в 100, следуя инструкции на Laravel сайте)
2) Я использовал сеялку для создания поддельных пользователи:
$faker = Faker::create();
foreach(range(1, 10) as $index)
{
User::create([
'firstname' => $faker->firstName(),
'lastname' => $faker->lastName(),
'email' => $faker->email(),
'password' => Hash::make('password'),
'telephone' => $faker->phoneNumber(),
'admin' => rand(0,1)
]);
}
Таблица в базе данных отлично посеяна без проблем.
3) Я создал контроллер UserController со следующей функцией
общественная функция пост-создания() {$ валидатор = Validator :: сделать ($ данных = Input :: все(), Пользователь :: $ правила) ;
if ($validator->fails()) {
return Redirect::to('users/newaccount')->with('message','error')->withInput()->withErrors($validator);
}
unset($data['password_confirmation']);
$data['password'] = Hash::make(Input::get('password'));
User::create($data);
return Redirect::to('users/signin')->with('message','thanks');
}
4) Я создал форму для регистрации пользователя
{{ Form::open(array('route'=>array('users.createaccount'), 'method' => 'post')) }}
.....
{{ Form::label('password') }}
{{ Form::password('password') }}
....
{{ Form::submit('Create new account') }}
{{ Form::close() }}
Проблема заключается в том, когда я проверить на таблицы БД пользователь является регистром и сохранены, и все поля заполняется, за исключением пароля (и токена, который остается пустым).
Но если я делаю dd ($ data) перед вызовом User :: create ($ data), это то, что я вижу:
array(6) { ["_token"]=> string(40) "5bSkWYHLfeBh8E2agiB15J2cQSzs6orI7m5ruFhx" ["firstname"]=> string(4) "mark" ["lastname"]=> string(4) "mark" ["email"]=> string(13) "[email protected]" ["password"]=> string(60) "$2y$10$J3eM3nBZ0l8eNa1BxpoDc.BzeQUKzTc7dwwbu7g7GdQLj4gJgjWxe" ["telephone"]=> string(8) "12345678" }
Любой может сказать мне, почему только пароль и поля токена не сохраняются с помощью метода Eloquent в базе данных, в то время как они сохраняются с помощью сеялки?
THK
Является ли 'password' в массиве' $ fillable'? – lukasgeiter
uuuuuu ..... да, это правильно ... это было так, ... мне также нужно установить токен внутри заполняемого массива? ... (как я могу голосовать за ответ?) –