一:获取器 :
getTypeNameAttr, 获取器格式(名字需要使用驼峰) 尽量不要使用表中已有字段名称命名。你在当前模型定义获取器后,每次调用模型时都会加载到获取器。
例如:
/**
* 余额操作描述 读取器
* @param $value
* @param $data
* @return array
*/
public function getOperateAttr($value, $data)
{
if (is_null($value)){
$value = ['operate' => "添加"]; ▷如果只是需要单个值,不要用数组的方式!
$info = $data['value'];
if (!empty($info)){
if (strstr($info,"-"))
$value['operate'] = "减少";
}
return $value;
}
}
1:$value:表示当前模型表中是否有这个字段,$data:当前模型数据。(需要读取的字段($value)不存在,需要在判空中执行。反之不需要判空中),然后在控制层$list->append(['operate'])。append进去后,会添加读取器名字一个字段的数据。
if (!$list->isEmpty()) {
$list->append(['type_name', 'extras', 'admin_name', 'operate']);
$list->load(['member']);
}
2:修改器以上同理。它是操作数据库时执行的,例如获取的是日期2018-1-1 我们存入数据库就可以使用修改器修改成时间抽的格式存入数据库。