【发布时间】:2022-07-19 17:35:33
【问题描述】:
我是这里的新手并使用 livewire,我正在做多个提交,以便用户可以添加许多主题及其各自的字段。这是我的表格:
@foreach ($topics as $index => $topic )
<div class="form-column new-form">
<h1 class="form-title">Topics </h1>
<div class="form-column">
<label for="topicname">topic name</label>
<input type="url" name="topics[{{$index}}][name]" wire:model="topics.{{$index}}.name" id="topicname" placeholder="Enter topic name">
</div>
<div class="form-row">
<div class="form-column">
<label for="coursestatus">status</label>
<select name="topics[{{$index}}][status]" id="status" wire:model="topics.{{$index}}.status">
<option value="enabled" selected>Enabled</option>
<option value="disabled">Disabled</option>
</select>
</div>
<div class="form-column">
</div>
</div>
<div class="form-column">
<label for="topicdescription">topic description</label>
<textarea name="topics[{{$index}}][description]" wire:model="topics.{{$index}}.description" id="topicdescription" cols="30" rows="10"></textarea>
</div>
<div class="form-column">
<label for="topicdocuments">any documents?</label>
<input type="file" name="topics[{{$index}}][document]" wire:model="topics.{{$index}}.document" multiple>
</div>
<button class="form-submit" wire:click.prevent="removetopic({{ $index }})">Remove topic <i class="bi bi-chevron-right"></i></button>
</div>
@endforeach
<div class="form-row">
<button class="form-submit" wire:click.prevent="back">Course <i class="bi bi-chevron-left"></i></button>
<button type="submit" class="form-reset"><i class="bi bi-x-lg"></i> Reset</button>
<button type="submit" wire:click.prevent="addtopic" class="form-submit"><i class="bi bi-plus-lg"></i> Add This Topic</button>
<button class="form-submit" wire:click.prevent="test">Lessons <i class="bi bi-chevron-right"></i></button>
</div>
我可以使用我的 livewire 组件中的测试函数来获取表单的完整数组:
<?php
namespace App\Http\Livewire;
use Livewire\Component;
use Illuminate\Support\Facades\DB;
class Courseupload extends Component
{
public $topics = []
public function mount()
{
$this->topics = [[
'name'=>'', 'descrption'=> '', 'status'=> '', 'document'=> ''
]];
}
public function addtopic()
{
$this->topics[] = ['name'=> '', 'status'=> '', 'description'=>'', 'document'=>''];
}
public function test()
{
dd($this->topics);
}
}
如何从生成的每个表单中仅获取特定字段,例如“名称”、“描述”等?
谢谢。
【问题讨论】: