TP5中使用toArray()报错

使用find(),select(),get(),all()等查询数据库时,返回的是一个模型对象,此时是不能直接操作的,需要我们转化成数组对象

使用toArray()方法,而我在使用时报错

网上查了好多资料,说是find()或者get()查询一条数据时可以直接使用toArray(),而返回多条数据时,不能直接使用toArray(),需要使用助手函数conllection或者类Conllection,但是并不起作用

并将数据库的时间字段create_time默认值设置成now()(CURRENT_TIMESTAMP),建表是为空,但是也没有用(建议设置默认值)

后来经过返回测试,发现原来是数据库配置项的问题,

'datetime_format' => false,

设置此项后,再使用toArray()就没问题,不过好像低于5.0.6版本的框架不行,建议使用相对高一点的版本

如果不行,对时间格式不进行转换

class SysConf extends Model{
    protected $pk = 'id';
    protected $table = 'sys_conf';

    protected $auto = ['create_time'];

    //返回原有数据  不自动进行时间转换
    public function getCreateTimeAttr($time)
    {
        return $time;
    }
}

猜你喜欢

转载自blog.csdn.net/benben0729/article/details/81128909