2016-04-26 4 views
1
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Экспорт из базы данных в формате XLS (Laravel 5)

<form class="form-horizontal" role="form" method="POST" action="{{action('[email protected]')}}"> 

         <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 не могут быть преобразованы нанизывать. Пожалуйста, помогите мне решить эту проблему.

ответ

0
$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

использовать этот запрос '$ присвоений = DB :: таблица ('назначения') -> выберите (, 'projects.name', 'people.firstname', 'люди 'назначения *.'. lasttime ',' tasks.description ',' tasks.hours_spent ') -> join (' projects ',' assignments.project_id ',' = ',' projects.id ') -> join (' people ',' жопа ignates.person_id ',' = ',' people.id ') -> join (' tasks ',' assignments.id ',' = ',' tasks.assignment_id ') -> get(); ' – abhayendra

+0

I попробовал использовать этот запрос в моем коде, но он дает ту же ошибку –

+0

Я попытался включить ваш код выше с вашим запросом, теперь он дает мне другую ошибку, которая заключается в следующем: InvalidArgumentException в FileViewFinder.php line 137: View [view] not найденный. –

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'); 

Если извлечь с помощью красноречивый Mo дель ..... Он работает ....

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

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

1

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

$assignments = json_decode(json_encode($assignments), true); 
Смежные вопросы