2017-01-18 29 views
0

Yii2の機能はgenerating CRUD for table with giiです。Yii2:自動生成されたCRUDにフィールドを追加する(自動?)

コントローラ、モデル、検索モデル、およびビューのいくつかのファイルを作成します。

CRUDを生成した後、テーブルにフィールドを追加する必要がある場合はどうすればよいですか?私は変更する必要があることを参照してください。

  • モデルの
    • はphpdoc
    • rules()
    • attributeLabels()
  • 検索モデルの
    • rules()
    • search()->andFilterWhere()呼び出しを微調整)
  • 再生回数:
    • index(グリッド列)
    • _form(モデル入力)
    • _search(検索入力)
    • view(属性行)

多くの作業。より簡単に/自動的に行う方法はありますか?私はちょうどgiiでCRUDを再生成できることを理解していますが、この場合、他のすべての調整は上書きされます(紛失)。

Yii2用の他のCRUDソリューションが存在し、すべてのフィールドをハードコードせず、テーブルスキーマの変更をビュー/モデルに自動的に表示することは可能でしょうか?それについて知ってうれしいです。

答えて

2

ファイルを上書きするか、手動で変更内容を追加したくない場合は、オプションの下にあります。

GII、プレビューボタンをクリックした後、ファイルのリストを見ることができます。

enter image description here

ファイルがを持っている場合は、表示デフボタンより、ディレクトリにすでにまたはを変更します。 diffボタンをクリックすると、ファイルの変更が表示されます。

enter image description here

あなたがあなたの必要性として、ファイルを変更することができたり、一時ファイルから/に/貼り付けコードをコピーして管理することができ、このモデル(ウィンドウ)から。

+0

ありがとうございました!この方法は、特に多くのメソッドがモデルに追加された場合には、多くの手作業を必要とします。現在、別のフォルダにCRUDを作成し、モデル/コントローラをそこから拡張しようとしています。しかし、ビューを拡張することはできません... – cronfy

+0

私のメソッドはdiffsからコードをコピーする必要があるようです...私は生成されたモデルから私のモデルを拡張する場合でも、私はルールと関係のメソッドをオーバーライドする必要があります。 )モデルを関連メソッドから抽出する。あなたの道が唯一の働き者であるように見えます。ありがとう!しかし、あなたが示唆していることに加えて、私はGIで生成されたモデルではなく、独自のモデルを生成して(IDEでオートコンプリートを維持するために)拡張しました。 – cronfy

+0

魅力的な作品 – Wizard

0

単純な方法は、テーブルにフィールドを追加した後にモデルを再生成し、それを生成することです。 crudで修正がある場合は、保存せずにGUIファイルで生成し、コピー貼り付けによって新しい列コードを移動できます。

関連する問題