小编Kev*_*iel的帖子

用碳增加日期

我正在尝试为Laravel 4中的预订系统创建一系列的中断日期.我的数据库中有一个测试行,其start_date为2016-01-24,end_date为2016-01-29.

这是使用Carbon来增加行并循环使用Carbon增加一天并将其添加到数组的代码:

$reserved = Reservation::where('property_id', $property->id)->get();

$blackoutDays = [];

foreach($reserved as $r)
{
    $start = new \Carbon\Carbon($r->start_date);
    $end = new \Carbon\Carbon($r->end_date);
    $days = $start->diff($end)->days;

    for($i = 0; $i <= $days; $i++)
    {
        $date = '';
        $date = $start->addDays($i);

        $blackoutDays[] = $date->format('Y-m-j');
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在$ blackoutDays中获得的是:

["2016-01-24","2016-01-25","2016-01-26","2016-01-27","2016-01-28","2016-01-29"]

但我实际得到的是:

["2016-01-24","2016-01-25","2016-01-27","2016-01-30","2016-02-3","2016-02-8"]

有谁知道为什么会发生这种情况/如何解决?有没有更好的方法呢?

php laravel-4 php-carbon

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

laravel-4 ×1

php ×1

php-carbon ×1