Как использовать Cache :: запомнить внутри цикла foreach? - PullRequest
0 голосов
/ 25 мая 2019

Я должен использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...