多くのことがわかるように、Laravelはプロジェクトの作成時に自動的にユーザーモデルを作成します。私はその後、認証インターフェイスphp artisan make:auth
を作成しました。自動生成されたレジスタメソッドは正常に動作していました。その後、ユーザー表の移行にnot null列を追加しました。今はもう働いていません。私は、laravelがこのauth scaffoldingを作成したときに挿入が正確にどこに起こるのかわかりません。 メソッドをRegisterController
に編集しようとしましたが、機能しませんでした。レジスタ<form>
で列をlaravelユーザーモデルに追加し、authレジスタの動作を維持する
class RegisterController extends Controller
{
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'tipo' => $data['tipo'], // name of the new column I added
'password' => bcrypt($data['password']),
]);
}
}
私は、入力フィールドtipo
を追加しました。生成されたコードが含まれていますのみAuth::routes();
web.php、ルートの
/protected $fillable = [
'name', 'email', 'password', 'tipo',
];
:Userクラスモデルで
<form class="form-horizontal" method="POST" action="{{ route('register') }}">
<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus>
<input id="email" type="email" class="form-control" name="email" value="{{ old('email') }}" required>
<select id="tipo" class="form-control" name="tipo" value="{{ old('tipo') }}" required>
<option value="1">Gerente</option>
<option value="2">Caixa</option>
<option value="3">Garçom</option>
</select>
<input id="password" type="password" class="form-control" name="password" required>
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
<button type="submit" class="btn btn-primary">
Registrar
</button>
を、Iが充填可能に新しい列を追加しました。私がphp artisan route:list
を実行すると、POST
メソッドの場合、uri register
は[email protected]
になりますが、RegisterControllerには私が投稿したメソッドとバリデータメソッドしかありません。登録が実際にどこで行われているのですか? laravelに関して、$user->save()
メソッドを実行する場所は?
編集:私は私ので、実際にコードがcreate
方法に到達していないことが判明:私がやりたいすべては、それが新しい列
編集2用の新しい<input>
を含めるように変更しています戻り前にdd($data)
が追加され、同じ動作が続いた場合、強制的に構文エラーが発生し、同じことが起こりました。
フォームコードとposetd $データアレイの出力をコントローラ内部から投稿できますか? – yahyazini