TP5中使用toArray()报错

17 篇文章 0 订阅

使用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;
    }
}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值