Yii2:通过别名访问列
Yii2: Access column by alias
使用别名查询时,如何通过别名访问列 而无需在模型中声明?
$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() 应该 return activeRecord (object) 所以你应该通过 $v->MINVAL;;
访问
为此,您应该在值 class
中添加 MINVAL 声明
class Value
{
public MINVAL;
.....
或者尝试获取数组形式的结果
find()->asArray()->all();
Value::find()
->addSelect("min(y) as MINVAL")
->groupBy(...)->asArray()->all();
并使用
访问
echo $v['MINVAL'];
使用别名查询时,如何通过别名访问列 而无需在模型中声明?
$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() 应该 return activeRecord (object) 所以你应该通过 $v->MINVAL;;
访问为此,您应该在值 class
中添加 MINVAL 声明 class Value
{
public MINVAL;
.....
或者尝试获取数组形式的结果
find()->asArray()->all();
Value::find()
->addSelect("min(y) as MINVAL")
->groupBy(...)->asArray()->all();
并使用
访问echo $v['MINVAL'];