2017-07-29 1 views
1

J'ai une nouvelle question yii2. comment afficher les valeurs relationnelles d'autres tables dans gridview dans views/viewname/index et également ajouter un bouton à cela pour confirmer?comment ajouter des attributs relationnels à gridview yii2?

merci

<?php 
 

 
use yii\helpers\Html; 
 
use yii\grid\GridView; 
 

 
/* @var $this yii\web\View */ 
 
/* @var $searchModel app\models\LaptopSearch */ 
 
/* @var $dataProvider yii\data\ActiveDataProvider */ 
 

 
$this->title = 'Laptops'; 
 
$this->params['breadcrumbs'][] = $this->title; 
 
?> 
 
<div class="laptop-index"> 
 

 
    <h1><?= Html::encode($this->title) ?></h1> 
 
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?> 
 

 
    <p> 
 
     <?= Html::a('Create Laptop', ['create'], ['class' => 'btn btn-success']) ?> 
 
    </p> 
 
    <?= GridView::widget([ 
 
     'dataProvider' => $dataProvider, 
 
     'filterModel' => $searchModel, 
 
     'columns' => [ 
 
      ['class' => 'yii\grid\SerialColumn'], 
 

 
      'id', 
 
      'network', 
 
      'technology', 
 
      'sup_id', 
 
      'speaker', 
 
      // 'optical_drive', 
 
      // 'webcam', 
 
      // 'touchpad', 
 
      // 'card_reader', 
 
      // 'ethernet', 
 
      // 'vga', 
 
      // 'hdmi', 
 
      // 'usb3_ports', 
 
      // 'usb2_ports', 
 
      // 'usb_type_c', 
 
      // 'thunderbolt_ports', 
 
      // 'serial_ports', 
 

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

comment ajouter ici de nouveaux attributs et ajouter également un bouton?

Répondre

0

pour obtenir les valeurs liées, vous pouvez ajouter à votre modèle

fonction de la relation

public function getYourRelatedModel() 
{ 
    return $this->hasOne(YourRelatedModel::className(), ['id' => 'your_id_fk']); 
} 

et ajouter un getter pour le champ dont vous avez besoin

public function getYour_field() { 
    return $this->yourRelatedModel->your_field; 
} 

et dernier ajoutez à votre grille visualisez la colonne

'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 

     'id', 
     'network', 
     'technology', 
     'sup_id', 
     'speaker', 
     'your_field', 
+0

qui fonctionne.thank uuu :))) – areff

+0

est-il un moyen de faire le lien sortby pour cela? – areff

+0

que voulez-vous dire pour "faire trier le lien".? .. je ne comprends pas .. – scaisEdge