setxxAttribute 在设置(sql: insert update) 的时候 会将$obj->xx = 'value'的时候, 操作数据库之前 自动转化一下

getxxAttribute 在获取xx属性的时候  $obj->xx 会转化

示例:

 //获取之前首字母大写
    public function getFirstNameAttribute($value)
    {
        return ucfirst($value);
    }
    //存入之前的改变
    public function setFirstNameAttribute($value)
    {
        $this->attributes['first_name'] = strtolower($value);
    }

 

注意:使用驼峰格式命名

https://laravel-china.org/docs/laravel/5.6/eloquent-mutators/1406

参考链接  https://laravel.com/docs/5.5/eloquent-mutators#array-and-json-casting