Pergunta

Estou fazendo um recurso de edição de usuário para meu painel de administração.Estou usando updateUniques() em meu código, conforme recomendado por Ardent ao ter regras 'únicas' no modelo.

Quando faço isso passa sem problemas, mas o modelo não mudou.

Meu código:

$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'));
}
Foi útil?

Solução

Ao depurar, percebi que não hidrata o modelo com novos dados.Depois de pesquisar um pouco no Google, encontrei uma solução.

Eu só precisava adicionar o seguinte ao meu modelo:

public $forceEntityHydrationFromInput = true;
public $autoPurgeRedundantAttributes = true;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top