具有ID和名称的Laravel路线

Ale*_*mec 3 routes laravel laravel-4

我生成这样的URL:

URL::action('FieldsController@show',['id' => $field->id, 'head' => cleanUrl($field->head)])
Run Code Online (Sandbox Code Playgroud)

在我的路线中,我有:

Route::get('/field/{head}-{id}', 'FieldsController@show');
Run Code Online (Sandbox Code Playgroud)

而且它不起作用,仅当我将ID放在首位,将HEAD放在第二位时才这样:

Route::get('/field/{id}-{head}', 'FieldsController@show');
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?我需要在URL中的HEAD之后有ID

Lau*_*nce 5

你不能像

{head}-{id}
Run Code Online (Sandbox Code Playgroud)

您需要这样做:

Route::get('/field/{head}/{id}', 'FieldsController@show');
Run Code Online (Sandbox Code Playgroud)

然后在您的show()函数中可以将它们自己组合:

function show($head, $id)
{
     $var = $head.'-'.$id;
     // do whatever you want with $var here
}
Run Code Online (Sandbox Code Playgroud)