dimanche 14 octobre 2018

Laravel - Method App\Http\Controllers\VisaController::export does not exist

This is a silly error wasted my day. This is the web.php

Route::group(['middleware' => 'auth'],
    function () {
        Route::get('letters/getRows', 'LetterController@getRows')->name('letters.getRows');
        Route::get('visas/getRows', 'VisaController@getRows')->name('visas.getRows');
        Route::get('visas/export', 'VisaController@export')->name('visas.export');
        Route::get('letters/{letter}/A4', 'LetterController@A4')->name('letters.A4');
        Route::get('letters/{letter}/A5', 'LetterController@A5')->name('letters.A5');
        Route::resource('letters', 'LetterController');
        Route::resource('countries', 'CountryController');
        Route::resource('visas', 'VisaController');
    }
);

and this is Controller

class VisaController extends Controller
{
protected $user;
protected $model;
function __construct()
{
    $this->model = new Visa();        
    $this->middleware(function ($request, $next){
       $this->user = Auth::user();
       return $next($request);
    });
}

public function export()
{
    return Excel::download(new VisaExport, 'visa.xslx');
}
.
.
.
.

}

and this is a link in a blade

<a href="" class="dropdown-item"> Export in Excel<i class="icon-file-text ml-2"></i></a>

and this is the error

enter image description here

What is wrong here? Why it says the method doesn't exists?

This is php artisan route:list

|        | GET|HEAD  | visas/export                          | visas.export            | App\Http\Controllers\VisaController@export                             | web,auth,Closure 

I am using Laravel 5.6.39. Thanks



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire