Я должен использовать Cache :: запомнить для ответов, которые находятся внутри цикла foreach. Но если я воспользуюсь приведенным ниже решением, все варианты будут повторяться, так как ответы будут хранить ответ первого цикла и повторять его.
Как предотвратить это, используя question_id , присутствующий в каждой переменной ответов?
@foreach($one_mark_questions as $oneMark_question_number=>$one_mark_question)
@php
$answers = [
['id' => 1, 'option' => $one_mark_question->option1, 'question_id' => $oneMark_question_number],
['id' => 2, 'option' => $one_mark_question->option2, 'question_id' => $oneMark_question_number],
['id' => 3, 'option' => $one_mark_question->option3, 'question_id' => $oneMark_question_number],
['id' => 4, 'option' => $one_mark_question->option4, 'question_id' => $oneMark_question_number]
];
shuffle($answers);
$answers = Cache::remember('answers', 5, function () use ($answers) {
return $answers;
});
@endphp
@endforeach