Это скорее концептуальный вопрос, но я пытаюсь найти лучший способ сделать представление, которое отображает один вопрос викторины за раз и проверяет ответ.Laravel 5 Quiz Project
В настоящее время моя таблица MySQL имеет следующие столбцы: id, category_id, quiz_question, answer_one, answer_two, answer_three, correct_answer.
Мой контроллер использует следующие, чтобы получить вопросы викторины:
$quizzes = Quiz::where('category_id',$category_id)->simplePaginate(1);
На мой взгляд, я иду через процесс делать asnwer заказа вручную
{{$quiz->quiz_question }}
<a onclick="this.innerHTML='Wrong'">{{ $quiz->answer_one }}</a>
<a onclick="this.innerHTML='Right'">{{ $quiz->correct_answer }}</a>
<a onclick="this.innerHTML='Wrong'">{{ $quiz->answer_two }}</a>...etc.
и, вероятно, только собирается используйте JavaScript/JQuery, чтобы проверить правильный ответ.
Концептуально это кажется довольно плохим способом сделать это, и я до сих пор не уверен, как рандомизировать порядок ответов, если они из той же таблицы БД, как это. В целом, есть лучший способ сделать это (отобразить вопрос 1 вопрос и отобразить ответы в случайном порядке, проверить без запроса БД)? Заранее спасибо.
Хорошо спасибо, можете ли вы случайно узнать лучший способ рандомизировать ответы, если они поступают из одной таблицы, например это? –
@ AnthonyPham - Вы не можете выполнить рандомизацию в запросе напрямую, если они из одной таблицы. Вам нужно сделать это на уровне приложения, например. 'shuffle()' в PHP. Для лучшего решения обратитесь к отредактированному разделу выше. – user2040026
@ AnthonyPham вы можете помочь мне разобраться, как решить эту проблему на модели?Модель принадлежит? – manshu