2017-10-07 5 views
0

Je suis nouveau à développer dans yii2 (et yii). J'ai une requête qui renvoie le nom et le nom des clients avec d'autres colonnes. J'utilise activeDataProvider pour afficher les enregistrements dans une table mais j'ai besoin que le nom et le nom soient affichés dans une colonne de table.comment concaténer deux colonnes dans yii2 activerecord?

Ce que je veux savoir est:

1. how do I concatenate the columns in yii2 activerecord? 
2. How do I display the columns in one table columns made gridView? 

ci-dessous est ce que j'ai essayé aucun fonctionne:

1. $query->select(['customer.*', 'fullname'=>concat('customer.name'," ",'customer.lastname')]); 
2. 'dataProvider' => $model['dataProvider'], 
       'columns' => [ 
        'id', 
        'name'.' '.'lastname', 
        'customer_orders', 
        'created_at:datetime' 

Répondre

2

Utilisez GridView comme ci-dessous.

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'columns' => [ 
     'id', 
     [ 
      'attribute' => 'name', 
      'value' => function ($model) { 
       return $model->name . ' ' . $model->lastname; 
      } 
     ] 
     'customer_orders', 
     'created_at:datetime' 
    ] 
]) ?> 

Référez Yii2 GridView