Laravel:ユーザー登録時にroleも一緒にcreateする方法

Laravel:ユーザー登録時にroleも一緒にcreateする方法

Laravel:ユーザー登録時にroleも一緒にcreateする方法

管理者による新規ユーザー作成関連として、前回までの記事で下記構成を構築しました。

この状態でユーザーの登録項目を変更しようとしたところ、新設した項目(role等)が初期値で入ってしまいました。
以前カスタマイズした場所なのですが、すっかり忘れていたので備忘録に残します。

項目追加時は2個所の変更が必要です

  1. \app\Http\Controllers\RegisterController.php
  2. \app\User.php

ControllerとModelです。
よく考えれば当たり前なのですが、私はUser.phpの変更をすっかり忘れてしまいました。

そのため、roleの値が初期値で登録されるという現象が発生していました。

RegisterController.phpに追記

バリデータとクリエイトに新規追加時に登録したい値を記載します。

User.phpに追記

$fillable の中に新規追加時に登録したい値を記載します。

まとめ

この2つのファイルを変更すれば良いだけなので、例えば『苗字と名前を分ける』『ログインIDを新設する』なんて時も簡単に対応できます。