2017-01-18 119 views
0

Yii2具有generating CRUD for table with gii的功能。Yii2:將字段添加到自動生成的CRUD(自動?)

它創建了幾個文件:控制器,模型,搜索模型和視圖。

如果在生成CRUD後我需要添加更多的字段到表中?我知道我需要改變:

  • 型號的
    • PHPDoc的
    • rules()
    • attributeLabels()
  • 搜索模式的
    • rules()
    • search()(調整->andFilterWhere()呼叫)
  • 查看:
    • index(格列)
    • _form(模型輸入)
    • _search(搜索輸入)
    • view(屬性行)

很多工作。有沒有辦法更容易/自動地做到這一點?我明白,我可以再生CRUD與GII,但在這種情況下,所有我的其他調整將被覆蓋(丟失)。

也許還有一些其他的Yii2 CRUD解決方案,它不會硬編碼所有字段,並允許表格模式更改自動出現在視圖/模型中?很高興知道這件事。

回答

2

如果你不想手動改寫文件或添加的改變,您將擁有以下選項:

GII,點擊預覽按鈕後,就可以看到文件列表。

enter image description here

如果文件中有改變已經在目錄差異顯示按鈕。 在點擊差異按鈕,就可以看到文件的變化。

enter image description here

從這個模型(窗口)可以修改文件爲您的需要或您可以複製/粘貼代碼/從臨時文件和管理。

+0

謝謝你的回答!這種方法也需要大量的手動工作,特別是在模型中添加了很多方法的時候。目前我正在嘗試在單獨的文件夾中創建CRUD,並從中擴展我的模型/控制器。但意見不能擴展... – cronfy

+0

看來我的方法仍然需要從diffs複製代碼...即使我從生成的模型擴展我的模型,我需要重寫規則和關係方法,否則我得到錯誤(不擴展)來自關係方法的模型。因此,似乎你的方式是唯一的工作。謝謝!但除了你的建議之外,我仍然不使用GII生成的模型,而是使用我自己的模型,擴展生成的模型(以保持IDE中的自動完成)。 – cronfy

+0

工程就像一個魅力 – Wizard

0

簡單的方法是將字段添加到表後再生模型和污物。 如果你有污物的修改,您可以在GUI文件產生不保存,並通過複製粘貼移動新列代碼。

相關問題