读取器还可以定义读取数据表中不存在的属性,例如把原始生日和转换的格式分开两个属性 birthday(数据库存在) 和 user_birthday(数据库不存在) ,我们只需定义 user_birthday 属性的读取器方法:
<?php
namespace app\index\model;
use think\Model;
class User extends Model
{
    // user_birthday读取器
    protected function getUserBirthdayAttr($value,$data)
    {
        return date('Y-m-d', $data['birthday']);
    }

这时候我们直接在控制器中echo $data->user_birthday; 就可以输出Y-m-d格式的时间。

需要注意的是如果直接打印$data是看不到user_birthday的需要打印$data['user_birthday']才能看到(目前我遇到的是这样的)

12-22 19:06