Domanda

Sto facendo la funzione di modifica utente per il mio pannello di amministrazione.Sto usando UpdateUniques () nel mio codice, come raccomandato da Ardent quando hai regole "uniche" nel modello.

Quando lo faccio, passa senza problemi, ma il modello non è cambiato.

Il mio codice:

$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'));
}
.

È stato utile?

Soluzione

Durante il debug, ho notato che non idrata il modello con nuovi dati.Dopo un po 'di googling ho trovato una soluzione.

Avevo solo bisogno di aggiungere il seguito al mio modello:

public $forceEntityHydrationFromInput = true;
public $autoPurgeRedundantAttributes = true;
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top