thinkphp5 Cannot use object of type think\db\Query as array

今天在写代码的时候又因为不小心而导致了一个bug,我用thinkphp5查询数据库的数据准备赋值给模板,但是在模板里面却报错了,报错内容是Cannot use object of type think\db\Query as array,大概意思就是think\db\Query不能使用对象类型,应该使用一个数组。

如图所示:

QQ截图20220825185620

我写的代码是这样的:

public function epayapi(){
        $res = Db::name('pays')->where('id','1')->where('admin_id','1');
        $this->assign(['pid'=>$res['Epay_pid'],'key'=>$res['Epay_key'],'apiurl'=>$res['Epay_api_url']]);
        return $this->fetch();
    }

这个问题显而易见,一眼就能看出来,我也不知道我当时为什么会写出这个代码,可能是昨晚上通宵脑子不好使了,问题就出在者句代码:$res = Db::name('pays')->where('id','1')->where('admin_id','1');缺少一个->find(),加上之后代码就是:$res = Db::name('pays')->where('id','1')->where('admin_id','1')->find();

最后更改后的全部代码如下:

public function epayapi(){
        $res = Db::name('pays')->where('id','1')->where('admin_id','1')->find();
        $this->assign(['pid'=>$res['Epay_pid'],'key'=>$res['Epay_key'],'apiurl'=>$res['Epay_api_url']]);
        return $this->fetch();
    }

最后提醒大家在写代码的时候一定要认真,不要像狗哥一样粗心大意,因为有时候因为粗心写的一个bug可能会让你改上半天,亲身经历。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片