Поиск…
Вступление
            Аксессоры и мутаторы позволяют вам форматировать значения атрибутов Eloquent при их извлечении или установке в экземплярах модели. Например, вы можете использовать шифр Laravel для шифрования значения, когда он хранится в базе данных, а затем автоматически расшифровывать атрибут при доступе к нему в модели Eloquent. Помимо пользовательских аксессуаров и мутаторов, Eloquent также может автоматически создавать поля даты для экземпляров Carbon или даже отправлять текстовые поля в JSON.
        
        Синтаксис
- set {ATTRIBUTE} Атрибут (атрибут $) // в верблюжьем футляре
Определение аксессуаров
<?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);
    }
}
Получение Accessor:
 Как вы можете видеть, исходное значение столбца передается в accessor, что позволяет вам манипулировать и возвращать значение. Чтобы получить доступ к значению аксессора, вы можете просто получить доступ к атрибуту first_name в экземпляре модели: 
$user = App\User::find(1);
$firstName = $user->first_name;
Определение мутатора
class User extends Model  
{
    public function setPasswordAttribute($password)
    {
        $this->attributes['password'] = bcrypt($password);
    } 
    ... 
}
Над кодом «bcrypting» каждый раз, когда установлен пароль.
$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
        Лицензировано согласно CC BY-SA 3.0
        Не связан с Stack Overflow