我如何使用 Laravel blade 中的碳循环获取从今天开始接下来 10 天的日期

How can I loop to get dates of next 10 days from today using carbon in Laravel blade

我一直在尝试在 Laravel blade.php 中创建未来 10 天的下拉列表(以及可选的日期) blade.php 我能够使用 \carbon\carbon::now(); 但是当我尝试在同一个变量中添加一天时,它给出了一个错误

这是我的代码-

<select class="form-control">
    <?php
     $today = \Carbon\Carbon::now()->format('m-d-Y (l)');
     $iterate = 0;
     for($iterate=0;$iterate<10;$iterate++) {
    ?>
        <option value="{{$today}}">
           {{$today}}
        </option>
    <?php
     $today = $today->addDay(); } //this one isn't working
    ?>
</select>

错误-
[2021-10-22 01:21:32] local.ERROR: Call to a member function addDay() on string (View: /var/www/vhosts/example.com/dummy.example.com/resources/views/superadmin/side_menu_superadmin.blade.php)

我该如何解决, 提前致谢。

您可以使用 CarbonPeriod 生成日期范围。试试这个代码

@php
$now = Carbon\Carbon::now();
$startDate = $now->clone()->startOfDay();
$endDate = $now->clone()->addDays(10)->endOfDay();
//change 10 to whatever you needed
$datePeriod =  collect(Carbon\CarbonPeriod::create($startDate, $endDate)->toArray())
              ->map(function($eachCarbonDate){
                return $eachCarbonDate->format('m-d-Y (l)');
              });
@endphp

<select class="form-control">
  @foreach ($datePeriod as $eachFormattedDate)
      <option value="{{$eachFormattedDate}}">
           {{$eachFormattedDate}}
        </option>
  @endforeach
</select>

这是现场演示 link 到 phpsandbox