2016-08-10 22 views
0

動作しない理由はこのルートは正常に動作します:Laravel 5.2、このルートが

Route::get('identite_personne/{id_personne?}', array('as' => 'getFormulaireIdentitePersonne','uses' => '[email protected]'))->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' => '[email protected]'))->middleware('estAutoriseFonction:IDENTITE_PERSONNE'); 

そして、この場合には、私はこのエラーがありますため必要なパラメータがありません

[ルート:getFormulaireIdentitePersonne] [URI:identite_personne/{id_personne}]

私の質問:なぜこのパラメータは、パラメータがopti onalで、このパラメータが必須の場合は機能しませんか?

ドミニク

+0

あなたはこのルートを使用し、他の場所はありますか? –

+0

いいえ、ビュー内のみです。どうして ? – Dom

答えて

0

私は問題を呼び出すには、これを試してみてくださいと思う:

Route::get('identite_personne/{id_personne?}', array('as' => 'identite_personne','uses' => '[email protected]'))->middleware('estAutoriseFonction:IDENTITE_PERSONNE'); 

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

私は試しましたが、残念ながら、私はまだ同じエラーがあります。 – Dom

+0

私は答えを更新しました。まだ同じエラーがある場合は、問題はどこか他のところです。 –

+0

Govindの回答に感謝します。私は成功しなかった多くのことを試しました:常に同じエラー "必要なパラメータがありません"。確かにエラーはどこか他の場所です。しかし、それを見つける方法は?このパラメータはまだ経路上ではオプションですが、そのように動作します。私は後で検索します。再度、感謝します。ドミニク – Dom

関連する問題