2017-04-14 5 views
0

octobercmsでバックエンドユーザーフィールドを拡張しようとしていますが、フォームを保存しようとすると新しいフィールドを追加した後、このフィールドがデータベースに存在しないというエラーが表示されます。だから私の新しいフィールドのための列を追加する方法は? は、ここに私のコードです:モデルを拡張フィールドを拡張してもOctoberCMSにデータベース列が作成されない

public function boot() 
{ 
    // Extend all backend form usage 
    Event::listen('backend.form.extendFields', function($widget) { 

     // Only for the User controller 
     if (!$widget->getController() instanceof \Backend\Controllers\Users) { 
      return; 
     } 

     // Only for the User model 
     if (!$widget->model instanceof \Backend\Models\User) { 
      return; 
     } 

     // Add an extra birthday field 
     $widget->addTabFields([ 
      'birthday' => [ 
       'label' => 'Birthday', 
       'comment' => 'Select the users birthday', 
       'type' => 'datepicker', 
       'tab'  => 'Billing' 
      ] 
     ]); 


    }); 
} 

答えて

2

が自動的にデータベースのフィールドを作成しません。

データベースフィールドを作成するには、migrationを作成して実行する必要があります。

Builder Pluginは、移行をグラフィカルに作成、適用、およびロールバックする非常に良い方法を提供します。

+2

@Ahmed Essam:あなたがコントロールしていない他のプラグインに直接マイグレーションを追加すると、問題を尋ねているだけです。この問題を処理する方法のチュートリアルについては、https://vimeo.com/108040919を参照してください。 – LukeTowers

関連する問題