如何将列别名添加到 yii 活动记录模型中



在我的旧项目中,我使用 id 作为表主键,如"shop_id"或"order_id",但现在我想只使用"id"作为"shop_id"的别名。如何仅将其添加到模型类,而不更改表。在那之后,我想有这样的东西

$model->id = $var

$var = $model->id 

$var = $model->attributes['id'].

只需在模型代码中创建一个 getter 方法,如下所示:

public function getId(){
   return $this->shop_id
}

如果你在许多表上有这个,你可以扩展CActiveRecord并向该类添加一个getter,如下所示:

public function getId(){
    return $this->{$this->tableSchema->primaryKey};
}