私はLaravel 5.5を使用しています。私は新しく登録したユーザーに電子メールアドレスを確認してアカウントを有効にします。また、既存のLaravel Userモデルにいくつかのフィールドや名前の変更が必要です。 name
はfirst_name
とlast_name
で置き換えられます。Laravel 5.5電子メールの確認とモデル調整
私はLaravelはAuth/RegisterController
に登録の大部分を管理していることがわかったので、私は私が必要なものを修正:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:12',
'first_name' => 'required|string|min:2',
'last_name' => 'required|string|min:2',
'terms' => 'accepted'
]);
}
私はfirst_name
min:n
を変更した場合、バリデータは、正常に動作し、それが正しく、その後、検証されますユーザーに[検証エラー]が表示されます。
protected function create(array $data)
{
$user = User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'email' => $data['email'],
'status' => 'inactive',
'password' => bcrypt($data['password']),
'api_token' => static::generateApiKey(),
]);
$activationLink = route('account.activation', static::generateRandomString());
Mail::to($user)->send(new UserAccountConfirmationMail($user, $data['password'], $activationLink));
return $user;
}
ただし、作成(create(array $data)
)はまったく機能しません。私はコードが実行されていないような気がします(登録するときには、dd
またはLog::info('...')
を追加しようとしました)、本当に何も起こりません。ページは更新されましたが、ユーザーの作成に関するメッセージは表示されません(成功した場合でもそうでない場合も...)。
私はここでいくつかの重要な詳細を見逃していますか?
あなたは偶然に何かを変更しましたか? –
変更内容を反映するためにユーザーdbスキームを更新したとしますか? –
あなたはその 'create'メソッドに何かを追加する必要はありません。その"唯一の "目的は、与えられたデータからユーザーを作成することです...ユーザーが現代に登録するときに起動される' Registered'イベントがありますLaravel – lagbox