2016-11-21 1 views
1

Я descriped routes.php вмаршрут с параметром Laravel 5,2

Route::get('/{id}', '[email protected]'); 

И я хочу использовать HomeController без параметра тоже. Как это сделать?

Update: если URL без параметров, я также хочу использовать HomeController для отображения домашней страницы, если URL с параметром я хочу показать некоторые данные с помощью контроллера.

ответ

3

Вы хотите использовать optional parameters:

Route::get('/{id?}', '[email protected]'); 

Иногда вам может понадобиться указать параметр маршрута, но сделать присутствие этого параметра маршрута по желанию. Вы можете сделать это, поместив знак ? после имени параметра.

1

Ваш идентификатор будет передан как пары к функции контроллера

public function index($id) { 
echo $id; 

} 

, если вы хотите использовать его без PARAMS понадобится необязательным параметр

Route::get('/{id?}', '[email protected]'); 

изменить вашу функцию контроллера для

public function index($id = 0) { 
    if ($id > 0) { 
    echo $id; 
    } else { 
    echo "display all"; 
    } 
    } 
+0

Я знаю это, но я хочу использовать этот маршрут без параметров тоже. – ATIKON

+1

@ATIKON обновил мой ответ – madalinivascu