Yii2:通过别名访问列

当用别名查询时,如何通过别名访问一个colum? 在模型中声明?

$values = Value::find()
    ->addSelect("min(y) as MINVAL")
    ->groupBy(...)
    ->all();
foreach($values as $v) {
    echo $v->x;     // accessing a property of ActiveRecord class Value
    echo $v->???    // how to access MINVAL?
}

解决方案:

在一般情况下取决于你所获得的集合类型(数组,或对象

如果结果是一个数组,那么

echo  $v['MINVAL'];

在你的情况下,应该是一个对象,然后

  echo  $v->MINVAL;

find()……->all()应该返回activeRecord(对象),所以你应该通过$v->MINVAL;来访问。

为此,你应该在Value类中添加MINVAL声明

 class Value
 {
   public MINVAL;  
   .....

或者尝试以数组形式获取结果

 find()->asArray()->all();
 Value::find()
->addSelect("min(y) as MINVAL")
->groupBy(...)->asArray()->all();

并使用

echo  $v['MINVAL'];

给TA打赏
共{{data.count}}人
人已打赏
未分类

将英国邮政编码映射到地理边界,以便绘制地图

2022-9-9 5:30:21

未分类

连体

2022-9-9 5:30:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索