我试图将对象传递到Laravel Excel工作表方法,但我不确定如何。我得到一个未定义的变量错误 - 我意识到这是因为我在一个没有范围到达对象的函数内部。
最终我会从一个表中加载regtypes - 来自另一个表的与会者,并为包含该类型的所有与会者的每个regtype创建一个表。
我的代码:
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)->count() ) {
$excel->sheet('Attendees', 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);
});
} //endif
} //endforeach
$excel->export('xls');
});
}
答案 0 :(得分:0)
当我写这篇文章时,我想通了,非常简单,我应该知道它只是一个Laravel Facade的方法,所以你把对象作为一个数组传递:
$excel->sheet('Attendees', array('regtype' => $regtype), function($sheet) {