版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tclzsn7456/article/details/87855472
Attribute可以给返回值中加上数据表中没有的值,或者修改查到的结果的格式,或者对查询结果某些字段进行修改后返回,下面介绍一下使用方法
首先在模型里加入appends,数组中填写返回值中想要新增的字段名(建议原字段名+标识的格式)
protected $appends = ['file_size_human', 'subject_code_human'];
这里2个字段分别是文件大小比特单位转后兆单位、学科标识码转后的学科名
固定格式方法名:getFileSizeHumanAttribute,红色部分对应上面数组中新增的字段名(注意:这里一定是驼峰格式的)
public function getFileSizeHumanAttribute()
{
if (isset($this->attributes['file_size']) && !empty($this->attributes['file_size'])) {
return FileHelper::formatBytes($this->attributes['file_size'], 1);
} else {
return '未知大小';
}
}
public function getSubjectHumanAttribute()
{
if (isset($this->attributes['subject']) && !empty($this->attributes['subject'])) {
return $this->rank_array['subjectLibrary'][$this->attributes['subject']];
} else {
return '科目';
}
}
使用的时候,只要正常通过模型查找数据库,这里和appends中对应的方法会执行到,然后返回值跟查找结果合并一起返回