Вступить в клуб →
сложнаявопросLaravel: Eloquent, очереди и события

При двойном клике firstOrCreate создал две корзины одному пользователю

$cart = Cart::firstOrCreate(['user_id' => $user->id]);

Уникального индекса по user_id нет. Пользователь дважды быстро нажал «В корзину», два запроса выполнились параллельно, и у него появились две корзины — товары разложились по разным. Как исправить?

  • Уникальный индекс и обработка конфликта при вставке
  • Обернуть firstOrCreate в транзакцию без индекса
  • Добавить usleep() перед firstOrCreate
  • Блокировать кнопку на фронтенде, ничего не меняя на сервере

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела