![](/img/trans.png)
[英]How to use different form with different controller functions and the same route in Laravel
[英]how can i use same route for two different controller function methods in laravel
我如何在Laravel中將相同的路由用於兩種不同的控制器功能方法
第一控制人
public function index()
{
$comproducts = Comproduct::paginate(6);
$items = Item::orderBy('name')->get();
return view('computer', compact(['comproducts', 'items']));
}
第二控制器
public function index()
{
return view('search.index');
}
我想將這兩種不同的控制器功能用於一條路線。
這是我的路線名稱
Route::get('/computer', [
'uses' => 'ComputerProductsController@index',
'as' => 'computer.list'
]);
laravel需要某種方式來確定您想要哪種方法。 例如,您可以傳遞參數,該參數將標識要調用的方法。
public function index(Request $request)
{
// if param exists, call function from another controller
if($request->has('callAnotherMethod')){
return app('App\Http\Controllers\yourControllerHere')->index();
}
$comproducts = Comproduct::paginate(6);
$items = Item::orderBy('name')->get();
return view('computer', compact(['comproducts', 'items']));
}
你不能 如果要將搜索功能添加到第一個控制器的索引頁面,則應確定要在控制器內部顯示哪個頁面。
可能的示例控制器:
public function index(Illuminate\Http\Request $request)
{
// If the URL contains a 'search' parameter
// (eg. /computer?search=intel)
if ($request->has('search')) {
// Do some searching here and
// show the search results page
return view('search.index');
}
$comproducts = Comproduct::paginate(6);
$items = Item::orderBy('name')->get();
return view('computer', compact(['comproducts', 'items']));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.