Laravel 5.1将多个重复记录输入数据库

时间:2015-11-10 10:55:25

标签: php laravel laravel-5

我使用Laravel 5.1编写了一个应用程序。该应用程序适用于停车位。它"规定"通过在数据库中创建3个不同的可用插槽(上午,下午,全天)来创建空间。

问题是,在快速页面刷新时,空间被配置两次,导致6个插槽进入数据库。

但是,如果我在5秒延迟后刷新页面,则不会输入更多记录。我的if语句似乎可以正常工作,而不是在页面/连接快速刷新时。

foreach($bays as $bay) {
    if(!BookingDates::where('date', $date)->where('parking_bay', $bay->number)->count()) {
        BookingDates::insert(['parking_bay' => $bay->number, 'date' => $date, 'slot' => 'Morning', 'time' => '7am - 1pm', 'status' => 'Available', 'created_at' => DB::raw('now()')]);
        BookingDates::insert(['parking_bay' => $bay->number, 'date' => $date, 'slot' => 'Afternoon', 'time' => '1pm - 7pm', 'status' => 'Available', 'created_at' => DB::raw('now()')]);
        BookingDates::insert(['parking_bay' => $bay->number, 'date' => $date, 'slot' => 'All Day', 'time' => null, 'status' => 'Available', 'created_at' => DB::raw('now()')]);
    }
}

有谁知道为什么会这样?

0 个答案:

没有答案