如何在请求中正确发送输入数组?

时间:2019-03-26 14:52:49

标签: php html arrays laravel laravel-blade

我正在使用Blade模板维护Laravel制作的网页。我需要将带有数组模式的表单发送到后端。

该页面用于在教师,学科和他们教授所选学科的课程之间建立关系。 列出了所有教师,用户应选择一个主题并链接到相应的课程。一位老师可以拥有多个科目。

这是刀片:

std::launder

我正在尝试这样的事情:

 @forelse ($teachers as $teacher)
                            <div class="row">
                                <div class="small-12 large-12 column">
                                    <h2>Professor</h2>
                                    <p>{{ $teacher->name }}</p>
                                    <input type="hidden" name="professorId[{{ $teacher->id }}]"
                                        value="{{ $teacher->id }}" required>
                                </div>
                            </div>
                            <div id="materiaTemplate{{ $teacher->id }}" class="row">                                
                                <div class="small-12 large-6 column">
                                    <h2>Matérias</h2>
                                    <select name="professorId[{{ $teacher->id }}][materias][]" required>
                                        <option value=""></option>
                                        @foreach ($subjects as $subject)
                                        <option value="{{ $subject->id }}">{{ $subject->name }}</option>
                                        @endforeach
                                    </select>
                                </div>
                                <div class="small-12 large-6 column">
                                    <h2>Turmas</h2>                               
                                    @forelse ($classes as $class)
                                    <input type="checkbox" id="{{ "turma".$class->id.'-'.$teacher->id }}"
                                        name="professorId[{{ $teacher->id }}][materias][][classes][]"
                                        value="{{ $class->id }}"><label
                                        for="{{ "turma".$class->id.'-'.$teacher->id }}">{{ $class->name }}</label>
                                    @empty
                                    <p>Nenhuma turma cadastrada.</p>
                                    @endforelse
                                </div>
                            </div>
                            <div class="row">
                                <div id="addMateriaButton{{ $teacher->id}}" class="small-12 large-4 column">
                                    <label>
                                        &nbsp;
                                        <button type="button" class="button primary fullWidth"
                                            data-add-element="materiaTemplate{{ $teacher->id }}"
                                            data-insert-before="addMateriaButton{{ $teacher->id }}">
                                            <img src="<?= asset('img/site') ?>/icons/svg/plus.svg" alt="Icon plus"
                                                class="buttonIcon buttonIconLeft">
                                            Matéria
                                        </button>
                                    </label>
                                </div>
                            </div>
                            @empty
                            <div class="small-12 large-12 column">
                                <h2>Nenhum professor cadastrado.</h2>
                            </div>
                            @endforelse

对此需要一点帮助。

1 个答案:

答案 0 :(得分:0)

您可以这样发布多维数组:

  

arrayName [FIRST_LAYER] [SECOND_LAYER] ...

<input name="teacher["Chemistry"]["John Well"]">