2016-06-20 4 views
1

私は現在、CSVにエクスポートするgridviewを実行しています。配列内で定義するのではなく、モデル内のすべての変数を見つける

問題は私がこのように定義していることです。ヘッダーが変更されるようにカスタム変数に名前をつけさせる予定なので、すべてを取得するように自動化しようとしています。

// $headers = array(
     //  'Forename', 
     //  'Surname', 
     //  'user.email', 
     //  'user.telephone', 
     //  'user.company', 
     //  'user.company_role', 
     //  'event.name', 
     //  'status_id', 
     //  'checkin_status_id', 
     //  'Question1', 
     //  'Question2', 
     //  'Question3', 
     //  'Question4', 
     //  'Question5', 
     //  'Question6', 

     //); 
$row = array(); 
     foreach($headers as $header) { 
      $row[] = EventAttendees::model()->getAttributeLabel($header); 
     } 
     fputcsv($fp,$row); 

そして、私はすべてをつかむために、それを自動化しようとしていた、私はこの

$models = EventAttendees::model()->findAll(); 
     $headers = CHtml::listData($models); 
     $row = array(); 
     foreach($headers as $header) { 
      $row[] = EventAttendees::model()->getAttributeLabel($header); 
     } 
     fputcsv($fp,$row); 

を試してみましたが、それは500エラーを育てています。

+0

http://www.yiiframework.com/doc/api/1.1/CHtml#listData-detail – ineersa

答えて

0

CHtml::listData()requires少なくとも3つのパラメータが指定されています。あなたは最初のものだけを渡しました

+0

問題は、すべてのパラメータを渡すことを避けたいと思います。 findAllは役に立たない。 – DevAL

+0

あなたのコードにはひとつ欠けています。つまり、ヘッダー名を格納する "EventAttendees"モデルの属性の名前です。 –

関連する問題