Маршрут контроллера Laravel 4 — получить маршрут с числовыми параметрами и другими конкретными параметрами

Ищите некоторое понимание этого.

Я пытаюсь определить контроллер маршрута в приложении Laravel 4, которое выполняет следующие действия.

  • Обрабатывает маршрут user/{userid}
  • Обрабатывает маршрут user/new

Я не могу найти способ сделать так, чтобы оба происходили одновременно.

Мой контроллер и маршрут выглядят так:

Route::controller('user', 'UserController');

class UserController extends BaseController {

public function getIndex($user_id) {
$user = User::find($user_id);
return View::make('user')
->with('user', $user);
}

public function getNew() {
return View::make('create_user');
}
}

Для меня это должно сработать, но я получаю 404 при попытке перейти на user/1, Довольно странно, user/new все еще берет меня create_user как это должно. user.blade.php посмотреть и create_user.blade.php посмотреть как существуют в корне viewsтак что это тоже не проблема. Что я делаю неправильно?

0

Решение

Вместо того чтобы делать Route::controller('user', 'UserController'); Вы можете сделать следующее в своих маршрутах:

Route::get('user/new', 'UserController@getNew');
Route::get('user/{user_id}', 'UserController@getIndex');

ИЛИ вы также можете сделать следующее:

Route::get('user/{user_id}', 'UserController@getIndex');
Route::controller('user', 'UserController');
1

Другие решения

Других решений пока нет …