Yii2: добавить поле в автоматически сгенерированный CRUD (автоматически?)
Yii2 имеет функцию генерации CRUD для таблицы с gii.
Он создает несколько файлов: контроллер, модель, модель поиска и представления.
Что если после генерации CRUD мне нужно добавить больше полей в таблицу? Я вижу, что мне нужно изменить:
- модели
- PHPDoc
rules()
attributeLabels()
- Поиск модели
rules()
search()
(настройки->andFilterWhere()
звонки)
- Просмотры:
index
(столбцы сетки)_form
(входные данные модели)_search
(поиск входов)view
(атрибут строки)
Много работы. Есть ли способ сделать это проще / автоматически? Я понимаю, что могу просто восстановить CRUD с помощью gii, но в этом случае все мои другие настройки будут перезаписаны (потеряны).
Может быть, существует какое-то другое решение CRUD для Yii2, которое не жестко кодирует все поля и позволяет автоматически отображать изменения схемы таблицы в представлениях / моделях? Был бы рад узнать об этом.
2 ответа
Если вы не хотите перезаписывать файл или добавлять изменения вручную, у вас есть опция ниже:
В Gii, нажав кнопку предварительного просмотра, вы можете увидеть список файлов.
Если файл изменился или уже находится в каталоге, то отображается кнопка сравнения. При нажатии на кнопку сравнения вы можете увидеть изменения в файле.
Из этой модели (окна) вы можете изменить файл по своему усмотрению или вы можете скопировать / вставить код в / из временного файла и управлять им.
Простым способом является регенерация модели и крана после добавления полей в таблицу. Если у вас есть изменения в Crud, вы можете генерировать в графических файлах без сохранения и копировать вставить переместить новый код столбца.