Laravel反向路由 - 路由url需要附加查询字符串

时间:2014-01-29 05:12:08

标签: hyperlink routing laravel-4 query-string

在视图中,我想为路线创建一个链接(生成URL)。我相信这叫做“反向路由”。我想在生成的url中添加一个查询字符串。

目标路由需要采用查询字符串参数来指定要返回的视图类型,例如部分,基本,完整。我还将为搜索词和字段添加其他查询字符串参数。我需要将这些传递给我的调度员调用的api(使用我自己的api)。

Route::get('thing/{id}', [
    'uses' => 'path\to\namespace\ThingController@show',
    'as' => 'thng.show']);
Route::get('thing/form/{id?}', [
    'uses' => 'path\to\namespace\ThingController@form',
    'as' => 'thng.form']);

在视图中:

<td>{{ link_to_route('thng.show?filter="partial"', $row->title,
                ['id' => $row->id])  }}</td>

我试过简单地将?字符串附加到link_to_route中的路由名称,但这不起作用(Error = Route [lstg.show?filter="partial“]未定义)。我不确定如何对其进行硬编码,因为它是一个命名路由并且确实采用了命名路由参数。

1 个答案:

答案 0 :(得分:1)

在你的情况下,我想你应该尝试这样的事情:

<td>{{ link_to_route('thng.show', $row->title, ['filter' => 'partial', 'id' => $row->id]) }}</td>

注意:使用link_to_route函数,您应区分作为第三个参数的URL参数(查询字符串)和锚标记本身的HTML属性,这是最后一个参数。