【发布时间】:2019-08-17 00:16:19
【问题描述】:
我正在维护使用 Blade 模板在 Laravel 中制作的网页。我需要将带有数组模式的表单发送到后端。
该页面用于在教师、科目和他们教授所选科目的班级之间建立关系。 有一个包含所有教师的列表,用户应该选择一个主题并链接到相应的课程。一位教师可以拥有多个科目。
这是刀片:
@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>
<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
我想拥有这样的东西:
[professorIds] => Array
(
[1] => Array
(
[subjects] => Array
(
[id] => 2
[classes] => Array
(
[0] => 1
)
)
)
)
需要一点帮助。
【问题讨论】:
-
您的隐藏输入将
professorId[{{ $teacher->id }}]设置为整数,但随后您尝试在以后的输入中使用professorId[{{ $teacher->id }}]作为数组。
标签: php html arrays laravel laravel-blade