domingo, 7 de setembro de 2014

Trabalhando com mutators no Laravel 4.2

Olá galera,

O Eloquent fornece um forma de modificar os atributos do model. Para exemplificar seu uso, vamos analisar o UsuariosController.php da série Autenticação e ACL com Laravel 4.1.

Nos métodos que salvam e atualizam os dados do usuário, o hash da senha é feito manualmente antes de salvá-la no banco de dados.

$input['password'] = Hash::make(Input::get('password'));

Utilizando mutator, nós podemos remover essa "transformação" e criar um método no model Usuario.php.

    public function setPasswordAttribute($value) {
    $this->attributes['password'] = Hash::make($value);
    }
  

A partir de agora quando for atualizar ou inserir uma senha no banco o hash dela será feito automaticamente.

Vale lembrar que o nome do método deve seguir o padrão setNomedoatributoAttribute

Fica aí a dica. Grande abraço

Nenhum comentário:

Postar um comentário