Laravel在路线中传递一个问号()

时间:2014-12-17 10:27:15

标签: php laravel

我在Laravel中的路线功能添加了问号(?),而不是斜杠(/)

route('servers.index', 321); // http://domain/public_html/server?321

我希望它返回http://domain.com/public_html/clientarea/server/321

路线:

Route::group(['prefix' => 'clientarea'], function()
{
    Route::get('/', 'UsersController@index');

    Route::get('server/{id}', 'ServersController@index');
});

Route::resource('users', 'UsersController');
Route::resource('servers', 'ServersController');

3 个答案:

答案 0 :(得分:2)

route函数需要一个参数数组。您可以按参数名称或按顺序

传递值
route('servers.index', array(321));

或者这个(假设参数被称为id

route('servers.index', array('id' => 321));

答案 1 :(得分:2)

您应该了解route()函数应该如何工作。例如,如果您计划使用route()引用路线,则应指定路线。一旦你命名,你必须确保你正确地传递参数,如Lukas所说。

如果Laravel无法找到为路径定义的匹配参数,则默认情况下将参数设置为查询字符串的一部分。由于路线不存在,因此无法找到您传入的匹配参数。

查看文档:{​​{3}}

答案 2 :(得分:0)

来自laravel论坛的

$url = URL::route('welcome') . '#hash';
return Redirect::to($url); // domain.com/welcome#hash

http://laravel.io/forum/02-07-2014-how-to-append-hashtag-to-end-of-url-with-redirect