[英]Laravel & Carbon - Loop data range
我想列出Carbon的两个日期之间的全天。 这里的代码:
@foreach ($rooms as $room)
<div class="col-sm-4">
<div class="card">
<img class="card-img-top" data-src="holder.js/100px180">
<div class="card-block">
<h4 class="card-title">{{$room->type}}</h4>
<p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsum reiciendis facere repellat soluta obcaecati laborum ex perspiciatis, iusto.</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<ul>
//////HERE THE PART TO LIST EACH DAY//////
@for($d = 0; $d < $checkin->diffInDays($checkout); $d++)
<li>{{$checkin->addDay()->toDateString()}}</li>
@endfor
//////////////////////////////////////////////
</ul>
</li>
</ul>
<div class="card-block">
<button type="submit" class="btn btn-primary btn-lg btn-block" name="room_id" value="{{ $room->id }}">Book</button>
</div>
</div>
</div>
@endforeach
这是发生了什么(在此测试中, $ checkin = 2015-12-16和$ checkout = 2015-12-19):
显然,对于每张卡,都应包含以下列表:
我知道我可以使用php类(例如DatePeriod,DateInterval等),但是我想用Carbon找到一个好的解决方案。
做一些测试,就像Carbon保存日期更改一样。
您可以尝试clone
$checkin
对象,如下所示:
<?php $date = clone $checkin; ?>
@while ($date->diffInDays($checkout))
<li>{{$date->toDateString()}}</li>
<?php $date->addDay(); ?>
@endwhile
或更好:
@for ($date=clone$checkin; $date->diffInDays($checkout)>0; $date->addDay())
<li>{{$date->toDateString()}}</li>
@endfor
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.