Closed guansong8079776 closed 4 years ago
去除getter中参数 $value,$data后即可。
由于你并未提供复现脚本,只能猜测你是调用了未在文档中说明的append方法,后续将会同步优化参数的传递
模型定义
class JobBaseModel extends AbstractModel
{
protected $tableName = 'tasks';
public $append = ['status_name','type_name','group_name']; // 使用append属性覆盖,使用append方法表现也是一样
/** @var string[] 状态名称定义 */
const MODEL_STATUS = [
1 => '未开始',
2 => '进行中',
];
/**
* 读取器 - 状态
* @param $value
* @param $data
* @return string
*/
public function getStatusNameAttr($value,$data) // 去除参数即可
{
return self::MODEL_STATUS[$value] ?? '未知状态';
}
}
调用模型
$map['task_id'] = $taskId;
$task = JobBaseModel::create()->get($map);
var_dump(json_encode($task));
如上回复,该append特性未在文档中编写,是一个新更新的特性,感谢你的反馈,后续升级orm版本将会解决这个问题
谢谢!
easyswoole框架版本号、orm组件版本号 [Version]
es 3.3.7 orm 1.4.9
问题描述和截图 [Question]
示例代码:
[ /**
与 框架中 trait Attribute 中 第 209行不符合
排查情况和最小复现脚本 [Tests and Recurrence]