Buscar..
Introducción
            Los accesores y los mutadores le permiten dar formato a los valores de atributo Eloquent cuando los recupera o configura en instancias de modelo. Por ejemplo, es posible que desee utilizar el cifrado Laravel para cifrar un valor mientras está almacenado en la base de datos, y luego descifrar automáticamente el atributo cuando accede a él en un modelo de Eloquent. Además de los accesores y mutadores personalizados, Eloquent también puede convertir automáticamente campos de fecha en instancias de Carbon o incluso campos de texto de conversión en JSON.
        
        Sintaxis
- establecer {ATTRIBUTE} Atributo ($ atributo) // en caso de camello
 
Definiendo un accessors
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    /**
     * Get the user's first name.
     *
     * @param  string  $value
     * @return string
     */
    public function getFirstNameAttribute($value)
    {
        return ucfirst($value);
    }
}
 Obteniendo Accessor:
 Como puede ver, el valor original de la columna se pasa al descriptor de acceso, lo que le permite manipular y devolver el valor. Para acceder al valor del elemento de acceso, simplemente puede acceder al atributo first_name en una instancia del modelo: 
$user = App\User::find(1);
$firstName = $user->first_name;
        Definiendo un mutador
class User extends Model  
{
    public function setPasswordAttribute($password)
    {
        $this->attributes['password'] = bcrypt($password);
    } 
    ... 
}
 El código anterior hace "bcrypting" cada vez que se establece la propiedad de contraseña.
$user = $users->first();
$user->password = 'white rabbit'; //laravel calls mutator on background
$user->save(); // password is bcrypted and one does not need to call bcrypt('white rabbit')
    
    
    
    
    Modified text is an extract of the original Stack Overflow Documentation
        Licenciado bajo CC BY-SA 3.0
        No afiliado a Stack Overflow