Пользователь может попытаться дважды нажать на URL (по какой-либо причине, плохое подключение к Интернету или что-то еще)
Вы можете выполнить другой запрос, чтобы убедиться, что у пользователя не будет дублированных строк или двух посещений.за короткий промежуток времени.
Вы можете выполнить запрос, подобный этому
$last_attendance = $customer->attendances()->orderBy('checked_in_at', 'DESC')->first();
if(Carbon::now()->diffInMinutes($last_attendance->checked_in_at) > 5){
$customer->attendances()->create(['checked_in_at' => now()]);
}
Это позволит убедиться, что для вставки новой записи потребуется не менее 5 минут, или вы можете изменитьзначение, как вы хотите.