首页 > 作文

YII 中使用 Expression解决查询中带有常量报错的问题

更新时间:2023-04-08 10:50:25 阅读: 评论:0

yii 官方手册关于 expression 的解释:

expression 表示不需要转义或引用的 db 表达式。
当表达式议论文素材摘抄对象嵌入到 sql爱一点歌词 语句或片段时, 它将替花世界沐浴露换为 $expression 属性值,而不进行任何的 db 转义或引用。 例如,
$expression = new expression(‘now()’);
$now = (new \yii\db\query)->lect($expression)->scalar(); // lect now();
echo $now; // prints the current date

表达式对象主要用于将原始 sql 表达式传递给yii\db\query, yii\db\activequery 和相关类的方法。

问题:

当我们需要使用一个常量作为查询字段的时候,使用下面的写法,运行会报错:

ur::find()->lect(['id', '0 as is_constant'])->asarray()->all()

databa exception – yii\db\exception
sqlstate[42s22]: column not found: 1054 unknown column ‘0’ in ‘field list’
the sql being executed was: lect `id`, `0` as `is_constant` from `ur`
error info: array
(
[0] =>元旦节日记 42s22
[1] => 1054
[2] => unknown column ‘0’ in ‘field list’
)

caudkeep up with by: pdoexception
sqlstate[42s22]: column not found: 1054 unknown column ‘0’ in ‘field list’

这时,需要使用 expression:

ur::find()->lect(['id', new expression('0 as is_constant')])->asarray()->all()

本文发布于:2023-04-08 10:50:23,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/c957cba2852df1aa8e49fc58dfbdf60b.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:YII 中使用 Expression解决查询中带有常量报错的问题.doc

本文 PDF 下载地址:YII 中使用 Expression解决查询中带有常量报错的问题.pdf

标签:表达式   或引用   对象   不需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图