开发者社区> 问答> 正文

Yii2框架的Active Record中select()语句的“AS”关键词不起作用,是什么原因?

已解决

今天在写一个接口的控制器的时候,需要把News表查询出来的数据中的id字段转换成news_id。
于是我按Sql语句的写法直接调用了继承Active Record的News模型,
结果查询出来的数据中id字段不见了。

$response = News::find()->select(['id AS news_id', 'news_title', 'news_content'])->all();
[
    {
        "news_title": "altestTitile",
        "news_content": "kasjdfljsdaf"
    },
]

如果直接使用QueryBuilder查询的结果,id字段如我所期待的结果,变成了news_id:

$response = (new Query())->select(['id AS news_id', 'news_title', 'news_content'])->from('tab_user')->all();
[
    {
        "news_id": "1",
        "news_title": "altestTitile",
        "news_content": "kasjdfljsdaf"
    },
]

出现这个问题究竟是我使用的方法不对,还是因为Yii2框架的某些Bug导致功能实现的不全?
如果有遇到或者了解类似问题的请帮忙解答一下。

展开
收起
河南 2016-04-10 17:32:27 4123 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    ['id' => 'news_id', 'news_title', 'news_content']

    2019-07-17 18:40:24
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Phoenix Search Index 功能与应用场景介绍 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载