Laravel 5.2,为什么这条路线不起作用

时间:2016-08-10 15:26:20

标签: laravel-5.2

这条路线很好用:

Route::get('identite_personne/{id_personne?}', array('as' => 'getFormulaireIdentitePersonne','uses' => 'PersonnesController@getFormulaireIdentitePersonne'))->middleware('estAutoriseFonction:IDENTITE_PERSONNE');

在我看来,我这样称呼这条路线:

<a href="{{ route('getFormulaireIdentitePersonne', ['id_personne' => $personne->id_personne]) }}" >{{ $personne->id_personne }}</a>

一切正常。

但是:你看到参数{id_personne}是可选的(路线中有一个?)。

如果我想要这个参数是强制性的,我将其删除?,路由变为:

Route::get('identite_personne/{id_personne}', array('as' => 'getFormulaireIdentitePersonne','uses' => 'PersonnesController@getFormulaireIdentitePersonne'))->middleware('estAutoriseFonction:IDENTITE_PERSONNE');

在这种情况下,我有这个错误:

  

缺少[Route:getFormulaireIdentitePersonne] [URI:identite_personne / {id_personne}]

所需的参数

所以我的问题:当参数是可选的时,为什么这条路线工作正常,当这个参数是强制性的时候不起作用?

多米尼克

1 个答案:

答案 0 :(得分:0)

我认为打电话有问题,试试这个:

Route::get('identite_personne/{id_personne?}', array('as' => 'identite_personne','uses' => 'PersonnesController@getFormulaireIdentitePersonne'))->middleware('estAutoriseFonction:IDENTITE_PERSONNE');

<a href="{!!url('identite_personne', [$personne->id_personne]) !!}" >{!! $personne->id_personne !!}</a>