在Laravel中将值从url传递给控制器

I have created an a tag in my x.blade.pdp file

<a href="{{ URL::to('/certificate/pdf/'.$year) }}" class= "text-center">Print Certificate</a>

In web.php

Route::get('/certificate/pdf/{$year}','PDFController@export_pdf');

My Controller

public function export_pdf( $year)

But when I click on the link the page cannot be displayed. I would like to use the $year in the where clause .

Please I need some assistance

Controller function should be like this

public function export_pdf( Request $request){
  $year = $request->year;
}

Route should be like this

Route::get('/certificate/pdf/{year}','PDFController@export_pdf');

if the year is optional then route is

Route::get('/certificate/pdf/{year?}','PDFController@export_pdf');

You must remove the $ and use: Route::get('/certificate/pdf/{year}','PDFController@export_pdf');

in your web.php file.

In routes/web.php, define your route much like you have done (I normally put the name also at the end).

Route::get('/someroute/route-url/{param1}', 'Directory\ControllerName@controller_function')->name('route-url-name');

Then you can describe that route in your view/blade by using its name, and pass the param:

{{ route('route-url-name', $param) }}