Laravel控制器 - 使用GET参数进行路由/操作

时间:2014-11-20 13:34:15

标签: php laravel parameters get controller

我想将一些GET参数添加到我的控制器路径中,例如?date = 1234567& checked = 1。我在* blade.php文件中想到了类似的东西:

<a href="{{ URL::action('ReportController@getReport', array('id'=> $message->EnergyMeterID, 'date' =>$message->created_at)) }}"> {{ $message->object }}</a>

然而,这导致/ 608b1308-d29a-43e3-a396-0d3a72d640d7 / 1234567。

它适用于以下方法:

... {{ URL::action('ReportController@getReport', $message->EnergyMeterID) }}?date={{ $message->CreateDate }}"> ... 
像这样:

http://url-to-domain/report/608b1308-d29a-43e3-a396-0d3a72d640d7?date=123456

但是,是否有内置功能?

2 个答案:

答案 0 :(得分:3)

正如@itachi在评论中提到的那样。有http_build_query php函数。它将数组转换为查询字符串。

以下是您使用它的方式:

{{ URL::action('ReportController@getReport') }}?{{ http_build_query(array('id'=> $message->EnergyMeterID, 'date' =>$message->created_at)) }}

更新

如果您有路径参数查询参数只是生成您的根链接

{{ URL::action('ReportController@getReport', $message->EnergyMeterID) }}?{{ http_build_query(array('date' =>$message->created_at)) }}

答案 1 :(得分:0)

 $data = ['param1' => 'value1', 'param2',=>'value2']; // the parameters you want to send.

在视图中:

{{ URL::action('ReportController@getMeter', $message->EnergyMeterID) }} ? {{http_build_query($data)}}