模型获取器虚拟字段不返回的数据原因
有网友问在thinkphp框架中使用虚拟字段获取数据没有返回值,是什么原因,代码如下:
控制器代码:
模型代码:$adminModel = new PlatformAdmin(); $post['token'] = $token;
$admin_info = $adminModel->getAuthInfo($post);
public function getStatusTextAttr($value,$data): string
{
$status_list = [0=>'正常',1=>'禁用'];
return isset($status_list[$data['status']])??'';
}
中是可以直接调用的:
{{$info->status_text}}
但是对于api返回的情况下,需要单独在获取数据的时候append(["status_text"])才能使用,代码如下:
$adminModel = new PlatformAdmin();
$post['token'] = $token;
$admin_info = $adminModel->getAuthInfo($post);
$admin_info = $admin_info->append(["status_text"]);
return json($admin_info);