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

Yii2: How to generate CRUD from MySQL/MariaDB view automatically with Gii

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

The table associated with frontend\models\MyModel must have primary key(s).

另见 discussion in Yii Framework Forum

解决方法是:

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

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

代码如下:

public static function primaryKey()
{
    return array('view_id');
}

这不是标准溶液,应谨慎使用。 Yii 官方不支持使用带视图的活动记录,因为不同的 DBMS 有不同的视图规范,它们通常不支持 DB 写入(2).

正在研究 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');
        }

对我有用。