为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel - URL中的多个参数

Laravel - URL中的多个参数

PHP
慕哥6287543 2022-10-14 15:50:38
我有一个简单的 foreach 循环,它以以下Y-m-d格式循环当前星期日期:@foreach($dates as $date)   <a href="{{route('consols.index', array_merge(\Request::query(), ['date' => date('Y-m-d', strtotime($date))]))}}">{{date('l', strtotime($date))}}</a>@endforeach有了上面,我可以简单地点击锚链接,具体日期将被附加:example.org/consols?date=2020-03-04现在我用它来过滤一个特定的 SQL 查询,我希望能够过滤多个日期。例如:example.org/consols?date=2020-03-04&date=2020-03-05&date=2020-03-06在上面的示例中,我希望发送 3 个日期作为查询参数。如果我只是将另一个附加&date=到已经存在的?date,它只会选择date=查询字符串中的最后一个。如何使用 PHP 在我的 URL 中发送多个具有相同参数名称的变量?
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以将日期添加为数组,即date[]

您的网址如下所示:

example.org/consols?date[]=2020-03-04&date[]=2020-03-05&date[]=2020-03-06

当您控制台查询时,它会给您

{ date: [ '2020-03-04', '2020-03-05', '2020-03-06' ] }


查看完整回答
反对 回复 2022-10-14
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我最终查看了 CodyKL链接到的链接,并从那里看到我实际上可以使用http_build_query。


这是我的解决方案:



$url = [];

$dates = isset($_GET['date']) ? $_GET['date'] : null;

if($dates){


  foreach($dates as $date){

     $url['date'][] = date('Y-m-d', strtotime($date));

  }


}


$query = http_build_query($url);

然后我可以简单地重定向到$query.


查看完整回答
反对 回复 2022-10-14
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

添加一个整数 $i

['date'.$i => date('Y-m-d'

您将拥有 date1= &date2= & date3=


查看完整回答
反对 回复 2022-10-14
  • 3 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号