php - 在 Yii2 中使用 Gii 从数据库 View 创建 CRUD

标签 php yii2 crud gii

我使用 mariadb View 的 gii 生成了一个模型,该模型有效。

然后尝试为模型使用 gii CRUD 生成器,我得到错误

The table associated with app\models\Future must have primary key(s).

这是完全可以理解的,因为 View 没有主键。我发现了一些建议,说要向模型添加一个 primaryKey 函数,所以我尝试了

public function primaryKey()
{
    return 'id';
}

id 是列名,它实际上是基础表中的 PK,它是 View 的一部分。但这失败了一个异常(exception)

Cannot make static method yii\db\ActiveRecord::primaryKey() non static in class app\models\Future

所以我尝试将方法设为静态,但它会抛出新的异常

Undefined index: i
1. in /home/adrian/projects/mtview/mtview/vendor/yiisoft/yii2-gii/generators/crud/Generator.php at line 509

有没有办法解决这个问题,或者现在不可能使用 gii 为数据库 View 生成代码?

最佳答案

简单添加到您的模型类

 public static function primaryKey()
{
    return ['id'];
}

关于php - 在 Yii2 中使用 Gii 从数据库 View 创建 CRUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36193050/

相关文章:

php - 使用 IN() 函数准备 MySQL 语句

php - Laravel 5.3 使用单个 SQL 查询和缓存需要 1.9 秒

php - 在站点和断开的链接上启用 SSL

javascript - 在 Yii2 中尝试通过 javascript 获取自动填充文本框时获取空值

php - 即使有 allowedIP 条目,Yii2 调试栏也不会显示在登台服务器上

vaadin - 如何更新 CrudPanel 中的项目

php - 在PHP循环中建立逗号分隔的字符串

javascript - 如何在 React 中使用过滤器实现分页

mysql - EasyAdmin 3.1 CrudControllers Symfony

php - Yii2中如何实现join查询