2017-05-03 94 views
0

我在這裏有一個問題。我設置了itemsale表之間的關係,現在我的GridViewItem name顯示爲id's。但我需要的是它將顯示Item names而不是ID's。我應該怎麼做?如何在GridView Yii2中顯示名稱而不是id?

這裏是我的GridView column

[ 
    'attribute' => 'item_id', 
     'value' => 
], 

我在想,我應該寫一個函數if聲明,但我有很多的名字,這將是很長的。有沒有更簡單的方法來解決它?

回答

1

假設你的關係被稱爲getItems(),併爲項目的名稱字段稱爲name

[ 
    'attribute' => 'items.name' 
], 
+0

哦天啊,那太簡單了..謝謝你,gmc! – HELPME

0

在我的情況下,運營商表和產品表。 comp_id是公司表中的主鍵,它與產品表有關。

<?= GridView::widget([ 
     'dataProvider' => $dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'prod_id', 
      'name', 
      'description:ntext', 
      [ 
       'attribute' => 'comp_id', 
       'value'  => 'comp.name' //getComp() 
      ], 

      ['class' => 'yii\grid\ActionColumn'], 
     ], 
    ]); ?> 

//getcomp function the product model page. 
public function getComp() 
    {`enter code here` 
     return $this->hasOne(Company::className(), ['comp_id' => 'comp_id']); 
    } 
相關問題