UpdateUniques()を使用しているときにモデルを保存しないLaravel Ardent

StackOverflow https://stackoverflow.com//questions/21004160

  •  20-12-2019
  •  | 
  •  

質問

私の管理者パネルのユーザー編集機能をしています。モデルに「固有」規則を持つときに、アーデントが推奨するように、私のコードで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;
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top