2016-10-26 3 views
1

laravelバックパックのselect_from_arrayフィールドと全く混同しています。Laravelバックパックselect_from_array

私のコントローラでは、私はオプションで関数を呼び出すselect_from_arrayフィールドを使用していますが、コード実行時にエラーが表示されます。これで私を助けてください。

エラー:EventController.phpライン106でFatalErrorException:構文エラー、予期しない '$この'(T_VARIABLE)

controller.php

public $crud = array(
    "model" => "App\Larapen\Models\Event", 
    "entity_name" => "event", 
    "entity_name_plural" => "events", 
    "route" => "admin/event", 
    "reorder" => true, 
    "reorder_label" => "name", 
    "reorder_max_level" => 2, 
    "details_row" => true, 

    // ***** 
    // COLUMNS 
    // ***** 
    "columns" => [ 
     [ 
      'name' => "id", 
      'label' => "ID" 
     ], 
    ], 
"fields" => [ 

      [ 
       'name' => "event_name", 
       'label' => "Event name", 
       'type' => "text", 
       'placeholder' => "Event Name", 
      ], 
      [ 
       'name' => "event_topic", 
       'label' => "Event Topic", 
       'type' => "text", 
       'placeholder' => "Event Topic", 
      ], 
      [ 
       'name' => "event_type_id", 
       'label' => "Event Type", 
       'model' => "App\Larapen\Models\EventType", 
       'entity' => "eventType", 
       'attribute' => "name", 
       'type' => "select", 
      ], 

      [ 
       'name' => "about_event", 
       'label' => "About event", 
       'type' => "ckeditor", 
       'placeholder' => "About the Event", 
      ], 
      [ 
       'name' => "country_code", 
       'label' => "Country", 
       'type' => 'select_from_array', 
       'options' => $this->countries(), 
       'allows_null' => false, 

      ], 
    ], 
); 


    public function countries() 
    { 
     .................. 
    } 

これがなぜ起こるか、これで私を助けてください?この問題を解決するには? 応答待ち中................

答えて

1

擬似変数$ this of classメソッドを使用することはできません。そのメソッドがオブジェクトコンテキスト内から呼び出されたとき

http://php.net/manual/en/language.oop5.properties.php

擬似変数$これは、任意のクラスメソッド内で使用可能です。 $これはあなたが$これでCRUD年代の属性を設定したいのであれば、あなたは

public function __construct() 
{ 
    $this->crud['fields'][4] = $this->countries(); 
} 

あるいはそれに__construct機能を初期化__construct機能でそれを設定することができ、呼び出し元のオブジェクト

への参照です

public $crud; 

public function __construct() 
{ 
    $this->crud = array(
         'model' => 'App\Larapen\Models\Event', 
         'entity_name' => 'event', 
         'entity_name_plural' => 'events', 
         'route' => 'admin/event', 
         'reorder' => true, 
         'reorder_label' => 'name', 
         'reorder_max_level' => 2, 
         'details_row' => true, 

         // ***** 
         // COLUMNS 
         // ***** 
         'columns' => [ 
          [ 
           'name' => 'id', 
           'label' => 'ID' 
          ], 
         ], 
         'fields' => [ 

            [ 
             'name' => 'event_name', 
             'label' => 'Event name', 
             'type' => 'text', 
             'placeholder' => 'Event Name', 
            ], 
            [ 
             'name' => 'event_topic', 
             'label' => 'Event Topic', 
             'type' => 'text', 
             'placeholder' => 'Event Topic', 
            ], 
            [ 
             'name' => 'event_type_id', 
             'label' => 'Event Type', 
             'model' => 'App\Larapen\Models\EventType', 
             'entity' => 'eventType', 
             'attribute' => 'name', 
             'type' => 'select', 
            ], 

            [ 
             'name' => 'about_event', 
             'label' => 'About event', 
             'type' => 'ckeditor', 
             'placeholder' => 'About the Event', 
            ], 
            [ 
             'name' => 'country_code', 
             'label' => 'Country', 
             'type' => 'select_from_array', 
             'options' => $this->countries(), 
             'allows_null' => false, 

            ], 
          ], 
         ); 
    } 
+0

ありがとうございました。 –

関連する問題