在我的旧项目中,我使用长 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};
}