Yii2:如何使用Gii从MySQL / MariaDB视图自动生成CRUD

Ant*_*ška 0 yii2 yii2-model

我可以使用Gii轻松地从MySQL / MariaDB视图生成模型,但是当我尝试生成CRUD时,我会收到以下错误消息:

与frontend \ models \ MyModel关联的表必须具有主键。

另请参见Yii Framework论坛中讨论

Ant*_*ška 5

解决方案是:

  1. 在视图中添加一个ID,例如使用CONCAT函数

  2. 在生成的模型中覆盖方法primaryKey。

这是代码:

public static function primaryKey()
{
    return array('view_id');
}
Run Code Online (Sandbox Code Playgroud)

它不是标准解决方案,应谨慎使用。Yii并不正式支持将活动记录与视图一起使用,因为不同的DBMS具有不同的视图规范,并且它们通常不支持DB write(2