Я пытаюсь использовать Excel: @package maatwebsite/excel
пакет на Laravel внутри контроллера, но я получаю эту ошибку:Laravel с использованием пакета Excel внутри контроллера
Non-static method Maatwebsite\Excel\Excel::create()
should not be called statically, assuming $this from incompatible context
мой маршрут является:
Route::get('all_users_report/{format}', '[email protected]_users_report');
мой контроллер является :
class SystemExportDataController extends Controller
{
/**
* @param $format
*/
public function all_users_report($format)
{
Excel::create('all_users_records', function ($excel) use ($format) {
$excel->sheet('My Site - all users report', function ($sheet) use ($format) {
........
});
})->export($format);
}
}
ПОСТ ОБНОВЛЕНО 2
'providers' => [
...
'Maatwebsite\Excel\ExcelServiceProvider'
],
'aliases' => [
...
'Excel' => 'Maatwebsite\Excel\Facades\Excel'
],
Ошибка:
BadMethodCallException in ServiceProvider.php line 234:
Call to undefined method [package]
ОБНОВЛЕНИЕ 3:
Полный контроллер Класс:
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Maatwebsite\Excel\Excel;
class SystemExportDataController extends Controller
{
public function all_users_report($format)
{
Excel::create('all_users_records', function ($excel) use ($format) {
$excel->sheet('Epay.Li - all users report', function ($sheet) use ($format) {
$all_records = ChangeMoney::all();
$sheet->loadView('layouts.admin.all_users_report',
array(
'all_records' => $all_records,
)
);
});
})->export($format);
}
}
Я редактировал свой пост, но если вы хотите использовать фасад, вы должны просто добавить его вместе с поставщиками в 'config/app.php' и это оно. Нет необходимости создавать новый экземпляр :) – lam3r4370
Я получаю сообщение об ошибке sir. post updated –
Установили ли вы версию 2 пакета? 'composer require maatwebsite/excel: 2. *' и, пожалуйста, запустите 'composer dumpautoload' и' php artisan clear-compiled' – lam3r4370