博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yii框中findOne()的用法
阅读量:7113 次
发布时间:2019-06-28

本文共 450 字,大约阅读时间需要 1 分钟。

在使用findOne($a)的时候会出现

          Call to a member function update() on array这样的错误。

但是明明$a的值等于某一值,在数据库中可以查到却依然报错。

奇怪的是有时候当$a为其他值的时候又不报错,这是什么原因呢?

原来在yii的内部,当使用findOne()的时候不管括号里面是什么变量,这个$a的值都将赋值给数据库中的主键(id)然后进行查询。

比如:如果你的主键是id, 你想查询的代码是 $a=1;  $b  =  A::findOne($a);  

其实进行的查询是$b  =  A::find()->Where ( [ ' id ' => " $a " ] )->one();。

所以这个时候当$a的值如果恰好等于主键的值的时候不报错,如果不等于的话可能报错,也可能查询出来的值不是你期望得到的值

所以当 $a 不是主键时不要使用findOne

转载于:https://www.cnblogs.com/wangshuazi/p/9402513.html

你可能感兴趣的文章
PHP Unit资料收集
查看>>
Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server at localhost-config.
查看>>
menuStrip鼠标经过自动显示菜单
查看>>
Offer是否具有法律效力?
查看>>
Conjugate prior relationships
查看>>
深度学习 vs. 概率图模型 vs. 逻辑学
查看>>
每天一个linux命令(34):kill命令
查看>>
HDU--3829--Cat VS Dog【最大点独立集】
查看>>
autofs自动挂载
查看>>
Python如何输出包含在对象中的中文字符?
查看>>
Tomcat指定特定JDK版本
查看>>
Spring的Hello World工程
查看>>
Ocelot简易教程(二)之快速开始1
查看>>
阿里巴巴
查看>>
IEWebcontrol webctrl_client目录配置
查看>>
highcharts 结合phantomjs纯后台生成图片
查看>>
Android Jetpack 助推应用开发 | 中文字幕视频介绍
查看>>
CSS入门指南-4:页面布局
查看>>
Android小知识-定时任务ScheduledThreadPoolExecutor
查看>>
Python基础算法库及可视化库使用实践-大数据ML样本集案例实战
查看>>