2017-11-25 185 views
0

在我的_form.php中,我創建了一個依賴類別的下拉菜單。在我的GridView中的index.php中選擇一個類別和一個子類別後,它顯示了類別和子類別的ID。如何顯示而不是ID如何顯示名稱而不是ID - GridView Yii2

<?= $form->field($model, 'category_id')->dropDownlist(
       ArrayHelper::map(Category::find()->all(), 'id', 'category_name'), 
       [ 
        'prompt' => 'Select Category', 
        'onchange' =>' 
        $.post("index.php?r=sub-cat/lists&id='.'"+$(this).val(), function(data) { 
        $("select#tickets-sub_cat_id").html(data); 
        });' 

        ] 
); ?> 

<?= $form->field($model, 'sub_cat_id')->dropDownlist(
       ArrayHelper::map(SubCat::find()->all(), 'id', 'sub_category'), 
       [ 
        'prompt' => 'Select Sub Category', 

       ] 
); ?> 

GridView控件代碼CATEGORY_NAME和sub_category名稱:

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
    'rowOptions' => function($model) { 

     if($model->status == 'On Going') 
     { 
      return ['class' => 'danger']; 
     } else if($model->status == 'Done') { 

      return ['class' => 'success']; 
     } 
    }, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 

    // 'id', 
     'category_id', 
     'sub_cat_id', 
    // 'request_title', 
     'status', 
     [ 
      'attribute' => 'time_start', 
      'value' => 'time_start', 
      'filter' => DatePicker::widget([ 
       'model' => $searchModel, 
       'attribute' => 'time_start', 
       'pluginOptions' => [ 
        'autoclose' => true, 
        'format' => 'yyyy-m-dd', 
        'todayHighlight' => true 
       ] 
       ]), 
     ], 
     'time_end', 
     // 'details', 
     // 'room_no', 
     // 'employee_id', 
      'room_no', 

     ['class' => 'yii\grid\ActionColumn'], 

我的模型

public function getCategory0() 
{ 
    return $this->hasOne(Category::className(), ['id' => 'category_id']); 
} 

public function getSubCat() 
{ 
    return $this->hasOne(SubCat::className(), ['id' => 'sub_cat_id']); 
} 

回答

1

假設你的模型具有正確的關係(例如「 getCategory「),則可以將網格列定義爲

'category.category_name' 
+0

我的getCategory和子類別有「return $ this-hasOne – Smurfzzz

+0

我也已經試過那個,但是它顯示給gridview」Not Set「 – Smurfzzz

+0

這表明問題出在您的數據中,即您的關係沒有被保存。 – pat

相關問題