Yii2: добавить поле в автоматически сгенерированный CRUD (автоматически?)

Yii2 имеет функцию генерации CRUD для таблицы с gii.

Он создает несколько файлов: контроллер, модель, модель поиска и представления.

Что если после генерации CRUD мне нужно добавить больше полей в таблицу? Я вижу, что мне нужно изменить:

  • модели
    • PHPDoc
    • rules()
    • attributeLabels()
  • Поиск модели
    • rules()
    • search() (настройки ->andFilterWhere() звонки)
  • Просмотры:
    • index (столбцы сетки)
    • _form (входные данные модели)
    • _search (поиск входов)
    • view (атрибут строки)

Много работы. Есть ли способ сделать это проще / автоматически? Я понимаю, что могу просто восстановить CRUD с помощью gii, но в этом случае все мои другие настройки будут перезаписаны (потеряны).

Может быть, существует какое-то другое решение CRUD для Yii2, которое не жестко кодирует все поля и позволяет автоматически отображать изменения схемы таблицы в представлениях / моделях? Был бы рад узнать об этом.

2 ответа

Решение

Если вы не хотите перезаписывать файл или добавлять изменения вручную, у вас есть опция ниже:

В Gii, нажав кнопку предварительного просмотра, вы можете увидеть список файлов.

Если файл изменился или уже находится в каталоге, то отображается кнопка сравнения. При нажатии на кнопку сравнения вы можете увидеть изменения в файле.

Из этой модели (окна) вы можете изменить файл по своему усмотрению или вы можете скопировать / вставить код в / из временного файла и управлять им.

Простым способом является регенерация модели и крана после добавления полей в таблицу. Если у вас есть изменения в Crud, вы можете генерировать в графических файлах без сохранения и копировать вставить переместить новый код столбца.

Другие вопросы по тегам