Yii2:我有一个新专栏,现在我得到了 Getting unknown 属性

Yii2: I have a new column and now I get Getting unknown property

我的 CarsSearch 模型中有一个查找功能:

public function search($params)
{
    $query = Cars::find()->select(['color' => '1']); // This is a longer SQL query.

    $dataProvider = new ActiveDataProvider([
        $query  => $query,
        $this->load($params);
        return $dataProvider;
    ]);
}

我在非常简单的 cars view:

中使用 $dataProvider
<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'color'
    ]
]) ?>

但是我得到了这个错误:

Getting unknown property: app\models\Cars::color

如何添加颜色属性?

我在 汽车模型 中添加了 并且它有效:

public $color;

我看到 属性 color 在你的数据库 table cars 中,所以你的 class Cars 必须扩展 ActiveRecord。您只需在模型 Cars 的规则中添加 color。例如:

['color', 'integer']

按照您添加的方式,属性 将始终是 null,除非您设置了一些值。如果您在规则中设置它,当您找到对象时,该对象将具有 color 和数据库中的值。 如果您有任何问题,请提供 class CarsCarsSearch

中的代码