[英]how can I pass an extra parameter to a controller in laravel
我有這個:
Route::get('/product/{id}', 'PagesController@display');
在我的PagesController中,我有這個:
public function display($id) {
return View::make("details", ["id" => $id, "premium" => $premium]);
}
如何在不將變量$premium
插入url的情況下將其傳遞給controller方法? 簡而言之,我不希望這樣: www.mysite.com/product/false/125 ( false是$premium
的值),而是這樣: www.mysite.com/product/125 。 這就是為什么我在controller方法中僅將$id
作為參數,而沒有$premium
。 我想以其他方式傳遞該變量$premium
。
我已經嘗試過一些類似的方法:
Route::get('/product/{id}', 'PagesController@display')->where("premium" => "false");
這沒有用。
您可以使用關閉路線並“手動”調用操作:
Route::get('/product/{id}', function($id){
return app('PagesController')->callAction('display', [$id, false]);
});
和
public function display($id, $premium) {
return View::make("details", ["id" => $id, "premium" => $premium]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.