带参数的控制器路由

时间:2013-06-05 08:08:17

标签: laravel laravel-4

Laravel 4遇到了一些n00b问题。我有以下路线:

Route::get('search', 'MovieController@search');
Route::get('edit/{$id}', 'MovieController@edit');
Route::get('/', 'MovieController@index');

和以下控制器:

class MovieController extends BaseController {

protected $layout = 'layouts.master';

public function index()
{
    $movies = Movie::paginate(30);
    return View::make('index')->with('movies', $movies);
}

public function search()
{
    if(isset($_REQUEST['sq'])) {
        Cache::forever('sq', $_REQUEST['sq']);
    }
    $movies = Movie::where('title', 'LIKE', '%'.Cache::get('sq').'%')->paginate(30);

    return View::make('index')->with('movies', $movies);
}

public function edit($id) {
    return View::make('edit')->with('id', $id);
    }

}

现在这样的通话不起作用:

<a href="edit/{{ $movie->movie_id }}">

我收到“NotFoundHttpException”。 URL似乎正确:laravel / public / edit / 2例如

如果我从代码中删除所有$ id内容,那么我只路由到编辑,它可以工作。

希望我能够表达自己,所以有人可以帮助我。这让我疯了。

问候

1 个答案:

答案 0 :(得分:4)

在您的routes.php中,它不是Route::get('edit/{$id} ...而是Route::get('edit/{id}