2016-05-19 2 views
0

Я могу с легкостью сгенерировать модель из представления MySQL/MariaDB с помощью Gii, но когда я пытаюсь создать CRUD, я получаю следующее сообщение об ошибке:Yii2: Как генерировать CRUD из MySQL/MariaDB автоматически с помощью Gii

Таблица, связанная с интерфейсом \ models \ MyModel, должна иметь первичный ключ (ы).

См. Также discussion in Yii Framework Forum.

ответ

3

Решение:

  1. добавить идентификатор в виде, например, используя CONCAT function,

  2. перезаписать метод primaryKey в сгенерированной модели.

Вот код:

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

Это не стандартное решение и следует использовать осторожно. Yii официально не поддерживает использование активной записи с представлениями, потому что разные СУБД имеют разные спецификации вида, и они обычно не поддерживают запись в БД (2).

0

Работа на yii2,
Был вопрос с первичного ключа, поэтому я ищу, чтобы добавить первичный ключ в VIEW TABLE, но я не могу, потому что -
Create view with primary key?
Adding in a primary key to an SQL view

Затем переехал для создания CRUD на См. таблицу. Я рассматриваю много статей как-


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

работал для меня.

Смежные вопросы