首页 新闻 会员 周边

yii,关于mysql select查询加单引号报错问题

0
悬赏园豆:100 [待解决问题]

mysql查询语句:
SELECT
1 AS flag,
s.suppliers_id, s.company_name, s.city
FROM supplier s
可查询到数据,无错误

yii2查询写法:
Supplier::find()
->alias('s')
->select('1 as flag,s.suppliers_id,s.company_name,s.city')->all();
报错: "msg": "SQLSTATE[42S22]: Column not found: 1054 Unknown column '1' in 'field list'\nThe SQL being executed was: SELECT 1 AS flag, s.suppliers_id, s.company_name, s.city FROM supplier s ",

初步判断为,使用yii select()方法查询的时候,yii语法把1当做一个表的字段加了单引号查询,所以保错Column not found。未找到解决方法,望大神指教

皮皮留声机的主页 皮皮留声机 | 初学一级 | 园豆:106
提问于:2019-09-27 11:20
< >
分享
所有回答(2)
0

不懂php,这是php吧。但是呢,既然写死1了,加不加这列都没啥区别,可以不查flag列,等数据查出来以后,如果有必要,再遍历数据,把flag都设为1

会长 | 园豆:12401 (专家六级) | 2019-09-27 11:31
0

在select()查询中,给1加括号: (1) as flag。完美解决

皮皮留声机 | 园豆:106 (初学一级) | 2019-09-27 15:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册