UpdateUniques()を使用しているときにモデルを保存しないLaravel Ardent
質問
私の管理者パネルのユーザー編集機能をしています。モデルに「固有」規則を持つときに、アーデントが推奨するように、私のコードでupdateUniques()を使用しています。
私がそれをするとき、それは問題ないがモデルは変わっていない。
マイコード:
$user = User::findOrFail($id);
if ($user->exists)
{
$user::$rules['password'] = (Input::get('password')) ? 'required|confirmed' : '';
$user::$rules['password_confirmation'] = (Input::get('password')) ? 'required' : '';
}
if ($user->updateUniques())
{
Session::flash('successes', array_merge((array) Session::get('successes'), ['Pomyślnie zmieniono użytkownika']));
return Redirect::route('users.show', ['users' => $user->id]);
}
else
{
return Redirect::route('users.edit', ['users' => $user->id])
->withErrors($user->errors())
->withInput(Input::except('password'));
}
. 解決
デバッグ時には、モデルを新しいデータで水平化しないことがわかりました。グーグルの少し後、私は解決策を思いついた。
私のモデルに次のような追加が必要でした:
public $forceEntityHydrationFromInput = true;
public $autoPurgeRedundantAttributes = true;
. 所属していません StackOverflow