2016-03-24 24 views
3

我已經使用工作的mariadb視圖的gii生成了一個模型。在Yii2中使用Gii從數據庫視圖創建一個CRUD

然後試圖用GII CRUD發電機模型,我得到的錯誤

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

的觀點沒有一個PK這是完全可以理解的。我發現了一些建議,說要一個PrimaryKey的功能添加到模型中,所以我嘗試

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

隨着ID是列名這實際上是在基礎表中,這是視圖的一部分的PK。但這種失敗的異常

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產生數據庫視圖的代碼?

回答

-1

我想到的最簡單的工作周將創建與您的願望(主鍵字段)具有相同結構的表。使用該表創建您的CRUD。現在只需將您新創建的表格替換爲View。

2

簡單添加到您的模型類

public static function primaryKey() 
{ 
    return ['id']; 
} 
相關問題