laravel 模型 追加字段

给 laravel 模型追加自定义的字段

第一步:定义追加字段名

//追加字段
    protected $appends = ['pic'];

第二步:使用获取器,编写对追加字段操作的获取器 

 public function getPicAttribute($key)//此处的Pic与追加字段'pic' 相对应
    {
        $arr = explode('#', $this->attributes['fang_pic']);//这里是数据库原有字段,就是对这个字段进行相关更改的
        return 'aaa'.$arr[0];
    }

 第三步:调用

我们都知道,获取器是在获取该字段的时候,对该字段进行相关操作,从而得到我们想要的结果,所以这里,要想用追加字段,必须要获取‘fang_pic’该字段,换句话说,就是说,你必须从数据库取f'ang_pic’

这样pic 才有用,

原因说明:

$arr = explode('#', $this->attributes['fang_pic']);
你在这里使用了该字段或者说调用了该属性,所以必须建立在获取 fang_pic 的前提下,pic才会正常显示,否则报错


那理所应当的,当你未在 pic 获取器中调用 fang_pic 属性,也就无须关心 fang_pic

原文地址:https://www.cnblogs.com/zqblog1314/p/12877152.html