Laravel 4 と Laravel Excel を使用して mySQL からデータをエクスポートし、これを機能させました。Regtype と Attendee のオブジェクトがあり、関連するすべての出席者を含む regtype ごとに 1 つのシートが必要です。私は素晴らしい輸出をしている出席者のシートを1枚持っていました。これで、regtypes のループが追加され、複数のシートを取得できるようになりましたが、すべてのシートが空白です!
おそらく、shareViewを使用する必要がありますか?私はそうは思いません..エラーは発生せず、ブレード テンプレートに渡すデータは表示されません。
私のエクスポート関数: public function export() { $date = date('Y_m_d'); \Excel::create('CMO_Connect_Attendees_Export_'.$date, function($excel) { $regtypes = Regtype::all(); foreach ($regtypes as $regtype) { if( $regtype->attendees(3)->カウント() ) {
$excel->sheet($regtype->name, array('regtype' => $regtype), function($sheet) {
$date = date('Y_m_d');
$attendees = new Attendee;
$atts = Attendee::where('block_id', '=', \Input::get('block_id'))
->where('regtype_id', '=', $regtype->id)
->get();
$sheet->setStyle(array(
'font' => array(
'name' => 'Arial',
'size' => 12,
'bold' => false
)
));
$sheet->loadView('attendees.export', array('atts' => $atts))->with('curdate',$date)->with('regtype_name',$regtype->name);
$atts = '';
});
} //endif
} //endforeach
$excel->export('xls');
});
}
そして、データを渡すブレード テンプレート (出席者と、シートの上部に表示する regtype の日付と名前を渡します。
<html>
<table>
<tr>
<td colspan="11">Attendees Export - {{ $curdate }} - {{ $regtype_name }}</td>
</tr>
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Company</td>
<td>Title</td>
<td>Email</td>
<td>Phone</td>
<td>Address</td>
<td>Addres 2</td>
<td>City</td>
<td>State</td>
<td>Zip</td>
<td>Date Created</td>
</tr>
@foreach($atts as $att)
<tr>
<td> {{ $att->firstname }} </td>
<td> {{ $att->lastname }} </td>
<td> {{ $att->company }} </td>
<td> {{ $att->title }} </td>
<td> {{ $att->email }} </td>
<td> {{ $att->phone }} </td>
<td> {{ $att->address }} </td>
<td> {{ $att->address2 }} </td>
<td> {{ $att->city }} </td>
<td> {{ $att->state }} </td>
<td> {{ $att->zip }} </td>
<td> {{ $att->created_at }} </td>
</tr>
@endforeach
</table>
</html>
助けてくれてありがとう!