php - Yii2框架的Active Record中select()语句的“AS”关键词不起作用,是什么原因?
大家讲道理
大家讲道理 2017-04-10 17:04:33
[PHP讨论组]

今天在写一个接口的控制器的时候,需要把News表查询出来的数据中的id字段转换成news_id
于是我按Sql语句的写法直接调用了继承Active RecordNews模型,
结果查询出来的数据中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导致功能实现的不全?
如果有遇到或者了解类似问题的请帮忙解答一下。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
PHPz

你试试看['id' => 'news_id', 'news_title', 'news_content']

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号