2017-09-01 3 views
0

の列見出しを取得する方法を「私は私のプロジェクトでGridViewのを持っている。今私は、列が配列に戻って見出したい。私は、コードを参照してください???使用すべき方法..」、GridViewの

<?php 

    use yii\helpers\Html; 
    use yii\widgets\ActiveForm; 
    /* @var $this yii\web\View */ 
    /* @var $model app\models\Companies */ 

    $this->title = 'Export File';//'Create Companies'; 
    $this->params['breadcrumbs'][] = ['label' => 'Companies', 'url' => ['index']]; 
    $this->params['breadcrumbs'][] = $this->title; 
    $allColumnsDBArray = $model->getTableSchema()->getColumnNames(); 
    //problem is here it is giving column heading of mysql database table 
?> 

<div class="companies-create"> 
    <h1><?= Html::encode($this->title) ?></h1> 

    <div class="form-group"> 
     <?= Html::submitButton('Export CSV', ['class' => 'btn btn-primary','name' => 'export']) ?> 

     <?php echo "<br>";  
     foreach ($allColumnsDBArray as $colHeading) { 
      echo $colHeading; echo "<br>"; 
     }?> 

    </div> 
</div> 

"ですが、これはmysqlデータベースの列見出しを与え、requirmentはgridview列見出しですか?"モデルのすべてのヘッダ/ラベルを取得するために

+0

あなたは '$ model-> getAttributeLabel( 'attribute_name');というモデルでカスタム属性ラベルを使うことができます。 – Kalu

答えて

0

チェックを使用することができます。 attributesLabelsというメソッドがあります。ソリューションに使用してください。

$model   = new ModelName(); 
print_r($model->attributeLabels()); 

あなたの要件は、あなたの必要なラベルを使用してモデルに新しいメソッドを作成するために、これは

public function getGridLabels(){ 
    return [ 
    "id"   => "Id", 
    "first_name" => "First Name", 
    "email"  => "Email", 
    ]; 

} 

$model->getGridLabels(); 
0

以下のようにそれを呼び出すためにattributeLabel

得る、適合しない場合
$model->attributeLabels(); 

enter image description here