今天在写代码的时候又因为不小心而导致了一个bug,我用thinkphp5查询数据库的数据准备赋值给模板,但是在模板里面却报错了,报错内容是Cannot use object of type think\db\Query as array,大概意思就是think\db\Query不能使用对象类型,应该使用一个数组。
如图所示:
我写的代码是这样的:
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
暂无评论内容