Как контролировать повторение данных в Laravel?

У меня есть викторина. В викторине 10 вопросов. В первый раз я сохранил 7 вопросов викторины, используя приведенный ниже код. Во втором случае я хотел снова сохранить вопросы викторины. Но в этом случае данные дублируются. Я хочу, чтобы вопрос, который был сохранен один раз, не сохранялся во второй раз.

           foreach($request->input('questions', []) as $key => $question){
            QuizSessionAnswer::create([
                'session_id'=> $sessionId,
                'question_id'=> $question,
                'selected_choice_id'=> $request->input('choice.'.$question),
                'created_by_id'=> auth()->user()->id,
            ]);
        }

Как я могу решить проблему?

1 ответ

Вы можете один из двух

  1. пытаться updateOrCreateметод, вы можете ознакомиться с Laravel Reference здесь .
  2. вам нужно указать в своей «форме просмотра», если вы будете создавать вопросы QUIZ (отправлять на маршрут quiz.create) или редактировать свои вопросы (отправлять на маршрут quiz.edit)
Другие вопросы по тегам