我想将一些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
但是,是否有内置功能?
答案 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)}}