Laravel5.8を用いてユーザー登録機能を作ろうとしています。
Laravelデフォルトのユーザー登録(各自がメールアドレスを入力して登録する)は、作りたい機能(管理者が一般ユーザーのアカウントを作成する)と少し性質が違うように思うので使っていません。
調べた感じだと、よく出てくるのは以下のような方法でした。
php
1class UsersController extends Controller 2{ 3 protected function create(array $data){ 4 return User::create([ 5 'name' => $data['name'], 6 'email' => $data['email'], 7 'password' => Hash::make($data['password']), 8 ]); 9 } 10}
各入力値を並べて書くのがちょっと煩わしいので、色々調べて以下のような方法に行きつきました。
(バリデーションはUsersRequestクラスのrulesメソッドに書いています)
php
1class UsersController extends Controller 2{ 3 public function store(UsersRequest $request) { 4 $user = new User; 5 $user->fill($request->all())->save(); 6 return redirect('user'); 7 } 8}
しかしこのままだと当然ながらパスワードがハッシュ化されず平文で保存されてしまいます。
下の方法を生かしつつ、パスワードをハッシュ化するには、どこに処理を挟むのがスマートでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。