Экспорт из базы данных в xls (laravel 5)

public function export(){
view('tester');

$assignments = DB::table('assignments')
->join('projects', 'assignments.project_id', '=', 'projects.id')
->join('people', 'assignments.person_id', '=', 'people.id')
->join('tasks', 'assignments.id', '=', 'tasks.assignment_id')
->select('assignments.*', 'projects.name','people.firstname','people.lastname', 'tasks.description','tasks.hours_spent')
->get();

Excel::create('projects', function($excel) use($assignments) {
$excel->sheet('Sheet 1', function($sheet) use($assignments) {
$sheet->fromArray($assignments);
});
})->export('xls');}

Когда я нажимаю на экспорт в xls

    <form class="form-horizontal" role="form" method="POST" action="{{action('ReportController@export')}}">

<input type="hidden" name="_token" value="{{ csrf_token() }}">
<h4>Task Report</h4>
<button type="submit" class="btn btn-info btn-sm pull-right" style="margin-right: 10px">
Export to XLS format
</button>

Ошибка
ErrorException в строке DefaultValueBinder.php 65:
Объект класса stdClass не может быть преобразован в строку. Пожалуйста, помогите мне, как решить эту проблему.

1

Решение

Попробуйте это легко и просто: —

$assignments = json_decode( json_encode($assignments), true);
1

Другие решения

$filename   = "Report-".date('d-m-Y').'_'.time();
Excel::create($filename, function($excel)use($record)
{
$excel->sheet('Sheet 1', function($sheet)use($record)
{
$sheet->loadView('view', compact(array('record')));
$sheet->setOrientation('portrait');
});

})->export('xls');
exit();

также сделать вид и показать запись в <table> но этот вид не вызывает никакой части макета

0

Если я использую БД для получения данных, я получаю ошибку ….

ErrorException в строке DefaultValueBinder.php 65:
Объект класса stdClass не может быть преобразован в строку

$ret = Excel::create('statsExtract', function($excel) {
$data = DB::table('thrps')->get();
$excel->sheet('stats', function($sheet) use($data) {
$sheet->fromArray($data);
});
})->download('xls');

Если я извлекаю, используя Eloquent Model ….. Это работает ….

$ret = Excel::create('statsExtract', function($excel) {
$data = Thrp::all();
$excel->sheet('stats', function($sheet) use($data) {
$sheet->fromArray($data);
});
})->download('xls');

Однако, если я пытаюсь добавить операторы -> leftJoin, я получаю сообщение об ошибке, что leftJoin не существует ….

0
По вопросам рекламы [email protected]