我使用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()')]);
}
}
有谁知道为什么会这样?