首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel中对foreach循环进行混洗

在laravel中对foreach循环进行混洗
EN

Stack Overflow用户
提问于 2021-07-10 20:29:09
回答 1查看 87关注 0票数 0

我有一个包含10个测试题的列表,我试图从10个问题中抽出4个给每个学生,我使用foreach shuffle和take(4)。它是有效的,但问题的选项也改变了位置和散布时,我也尝试了随机(4),这也显示了同样的事情。对此的任何修复。下面是代码。

代码语言:javascript
复制
@foreach ($lesson->test->questions->shuffle()->take(4) as $question)
                <b>{{ $loop->iteration }}. {{ $question->question }}</b>
                <br />
                @foreach ($question->options as $option)
                    <input type="radio" wire:model='question.{{ $question->id }}'
                        name="questions[{{ $question->id }}]" value="{{ $option->id }}" />
                    {{ $option->option_text }}<br />
                @endforeach
                <br />
            @endforeach

随机过程

代码语言:javascript
复制
@foreach ($lesson->test->questions->random(4) as $question)
                <b>{{ $loop->iteration }}. {{ $question->question }}</b>
                <br />
                @foreach ($question->options as $option)
                    <input type="radio" wire:model='question.{{ $question->id }}'
                        name="questions[{{ $question->id }}]" value="{{ $option->id }}" />
                    {{ $option->option_text }}<br />
                @endforeach
                <br />
            @endforeach
EN

回答 1

Stack Overflow用户

发布于 2021-07-12 13:30:20

找到修复后,问题是每当我单击某个选项时,组件都会刷新,这会导致它重新呈现和重新洗牌问题。我所做的是调用wire:ignore,以便在我单击答案时不重新呈现。请参阅下面的代码

代码语言:javascript
复制
 <form wire:submit.prevent='lessonTest' action="{{ route('lessons.test', [$lesson->slug]) }}"
            method="post">
            {{ csrf_field() }}
            <div wire:ignore>
                @foreach ($lesson->test->questions->random(4) as $questions)
                    <b>{{ $loop->iteration }}. {{ $questions->question }}</b>
                    <br />
                    @foreach ($questions->options as $option)
                        <input type="radio" wire:model='question.{{ $questions->id }}' name="questions[{{ $questions->id }}]"
                            value="{{ $option->id }}" required />
                        {{ $option->option_text }}<br />
                    @endforeach
                    <br />

                @endforeach
            </div>

            <button class="btn btn-success btn-lg refresh" type="submit">Submit</button>
        </form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68327724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档