Yii2:尝试通过定制的SQL查询获取非对象的属性

时间:2018-11-28 15:10:19

标签: sql postgresql yii2

我想给GridView的行加颜色。但是Yii2显示错误。就像该模型不存在一样:

Showing the error "Trying to get property of non-object" 这是我的索引视图的一部分:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    function($model) {
        if ($model->quantity == 0) {
            return ['class' => 'danger'];
        }
    },
    'columns' => [
        'item',
        'quantity',
    ],
]) ?>

填充GridView的数据来自 ProductsSearch 模型中的SQL查询:

$query = Products::find()
    ->select(['item', 'quantity']);

$dataProvider = new ActiveDataProvider([ 
    'query' => $query->asArray(),
    'key' => 'item',
]);

return $dataProvider;

1 个答案:

答案 0 :(得分:1)

错误在这里:

if ($model->quantity == 0) {
    return ['class' => 'danger'];
}

我将其更改为:

if ($model['quantity'] == 0) {
    return ['class' => 'danger'];
}