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

在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

我在x.blade.pdp文件中创建了一个标签 p>

 &lt; a href =“{{URL :: to('/ certificate / pdf /'.$ year)}}”class =“text-center”&gt;打印证书&lt; / a&gt; 
  代码>  pre> 
 
 

在web.php中 p>

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

我的控制器 p>

  public function export_pdf($ year)
  code  >  pre> 
 
 

但是当我点击链接时,页面无法显示。 我想在where子句中使用$ year。 p>

我需要一些帮助 p> div>

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) }}