0

Gii を使用して MySQL/MariaDB ビューからモデルを簡単に生成できますが、CRUD を生成しようとすると、次のエラー メッセージが表示されます。

frontend\models\MyModel に関連付けられたテーブルには、主キーが必要です。

Yii フレームワーク フォーラムの議論も参照してください。

4

2 に答える 2

6

解決策は次のとおりです。

  1. CONCAT 関数などを使用して、ビューに ID を追加します。

  2. 生成されたモデルでメソッド primaryKey を上書きします。

コードは次のとおりです。

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

これは標準的なソリューションではないため、慎重に使用する必要があります。Yii はビューでアクティブ レコードを使用することを正式にサポートしていません。これは、異なる DBMS には異なるビュー仕様があり、通常は DB 書き込みをサポートしていないためです ( 2 )

于 2016-05-19T06:40:31.543 に答える