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).
解决方法是:
在视图中添加一个 ID,例如使用 CONCAT function、
在生成的模型中覆盖方法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。我看了很多文章,比如-
- http://www.yiiframework.com/forum/index.php/topic/9544-create-a-model-and-crud-from-mysql-view-instead-of-table/
- https://code.google.com/archive/p/yii/issues/1274#c0
所以最后,
public static function primaryKey()
{
return array('my_view_id');
}
对我有用。
我可以很容易地使用 Gii 从 MySQL/MariaDB 视图生成模型,但是当我尝试生成 CRUD 时,我收到以下错误消息:
The table associated with frontend\models\MyModel must have primary key(s).
解决方法是:
在视图中添加一个 ID,例如使用 CONCAT function、
在生成的模型中覆盖方法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。我看了很多文章,比如-
- http://www.yiiframework.com/forum/index.php/topic/9544-create-a-model-and-crud-from-mysql-view-instead-of-table/
- https://code.google.com/archive/p/yii/issues/1274#c0
所以最后,
public static function primaryKey()
{
return array('my_view_id');
}
对我有用。