我可以很容易地使用Gii从MySQL / MariaDB视图生成模型,但是当我尝试生成CRUD时,我收到以下错误消息:
与frontend \ models \ MyModel关联的表必须具有主键。
答案 0 :(得分:4)
解决方案是:
在视图中添加ID,例如使用CONCAT function,
在生成的模型中覆盖方法primaryKey。
以下是代码:
public static function primaryKey()
{
return array('view_id');
}
这不是标准解决方案,应谨慎使用。 Yii没有正式支持将活动记录与视图一起使用,因为不同的DBMS具有不同的视图规范,并且它们通常不支持DB write(2)。
答案 1 :(得分:0)
在yii2上工作,
主键存在问题,因此我搜索在 VIEW TABLE 中添加主键但我不能因为 -
Create view with primary key?
Adding in a primary key to an SQL view
然后移动到 VIEW Table 上创建 CRUD 。我查看很多文章,如 -
public static function primaryKey()
{
return array('my_view_id');
}
为我工作。