新しいユーザーを作成する際の検証には、次のルールを使用します。
protected $rules= [
'name' => 'required',
'email' => [
'required',
'unique:user',
'email'
]
];
既存のユーザーを更新する場合、上記と同じルールセットを使用しますが、ユーザーがメールをまったく変更していない場合に検証エラーが発生することは望ましくありません。
現在、次を使用してこれを解決しています。
if (!User::changed('email')) {
unset($user->email);
}
私には汚い回避策のように感じるので、より良い代替手段があるかどうか疑問に思っていました.
changed
また、メソッドは私が自分で書いたものであることにも注意してください。モデルのプロパティが変更されたかどうかを確認するためのネイティブの Laravel 4 メソッドがあるかどうかは誰にもわかりませんか?
ありがとう!