使用L5制作博客系统,我目前的设置已准备就绪,除了保存博客帖子。
我有2个按钮。一个创建textarea输入,另一个创建文件上传界面。
基本上,在创建博客文章后,我留下了如下结构:
<form>
<textarea name="text-update">foo</textarea>
<textarea name="text-update">foo</textarea>
<textarea name="text-update">foo</textarea>
<textarea name="text-update">foo</textarea>
<input type="hidden" value="an image url"/>
<input type="hidden" value="an image url"/>
<textarea name="text-update">foo</textarea>
</form>
理想情况下,我希望能够去:
public function store()
{
foreach (INPUTS AS INPUT) {
add new row to database with the content and also the type of input.
}
}
目标是,我不是拥有一个博客,而是拥有属于博客文章的博客部分。
如果这不可能,那么我只需要增加输入的名称并找出一些东西。
答案 0 :(得分:5)
编辑:向DOM添加元素时,可以使用id定义数组键以保留数组顺序。
您可以通过在名称末尾添加[]
来使输入成为数组:
<form>
<textarea name="text-update[1]">foo</textarea>
<textarea name="text-update[2]">foo</textarea>
<textarea name="text-update[3]">foo</textarea>
<textarea name="text-update[4]">foo</textarea>
<input type="hidden" name="image[1]" value="an image url"/>
<input type="hidden" name="image[2]" value="an image url"/>
<textarea name="text-update[5]">foo</textarea>
</form>
这会将所有值放在可以迭代的数组中
foreach (Request::get('text-update') as $update) {
//add new row to database with the content and also the type of input.
}
foreach (Request::get('image') as $update) {
//add new row to database with the content and also the type of input.
}
答案 1 :(得分:1)
将您的字段设置为:
<textarea name="text-update[]">foo</textarea>
使用括号将获取所有文本字段并将它们分组为一个数组,然后您可以迭代。您还需要对隐藏字段执行相同操作。确保使用名称中的[]:
<input type="hidden" name="somename[]" value="an image url"/>