私は、ユーザーが自分の名前を変更できるフォームを持つビューを持っています。フォームを送信した後、名前が変更されたかどうかを知る必要があります。 この結果、コード結果は常にfalse(変更なし)ですが、データベーステーブルは正しく更新されます。Laravel 5.5でフォームを送信した後にモデルが変更されたかどうかを確認する方法?
私のユーザモデルがあります:
protected static function hasChanged()
{
self::updating(function($user){
if($user->isDirty())
{
return true;
}else
{
return false;
}
});
}
私ProfileControllerは形式でデータを受信しました。オールウェイズユーザーにもかかわらず、「何のデータが変更されていない」GET $メッセージで
public function updateProfile(Request $request)
{
$usuario = new User;
User::find(Auth::user()->id)->update($request->all());
$message = User::hasChanged() ? "Data changed" : "No data changed";
return redirect('home')->with('success', $message);
}
は、フォーム内のデータを変更しました。
これが最善の方法であるかどうかわかりません。
ありがとうございました。
はこの参考になりましたか? https://stackoverflow.com/questions/28866500/laravel-eloquent-update-just-if-changes-have-been-made – Alexey
お役に立ちました、ありがとうございました – Fabian