模型獲取器虛擬字段不返回的數(shù)據(jù)原因
有網(wǎng)友問(wèn)在thinkphp框架中使用虛擬字段獲取數(shù)據(jù)沒(méi)有返回值,是什么原因,代碼如下:
控制器代碼:
模型代碼:$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']])??'';
}
中是可以直接調(diào)用的:
{{$info->status_text}}
但是對(duì)于api返回的情況下,需要單獨(dú)在獲取數(shù)據(jù)的時(shí)候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);