使用L5和我当前的设置创建博客系统已经准备好了,除了保存博客文章。
我有两个按钮。一个创建文本区域输入,另一个创建文件上传界面。
本质上,在创建了一篇博客文章后,我留下了这样的结构:
<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.
}
}
目的是,我没有一个博客,而是有博客部分,将属于一篇博客文章。
如果这是不可能的,那么我只需要增加输入的名称并找出一些东西。
编辑:当您将元素添加到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.
}
这样设置字段:
<textarea name="text-update[]">foo</textarea>
使用方括号将获取所有文本字段,并将它们分组到一个数组中,然后可以对其进行迭代。您还需要对隐藏字段执行同样的操作。请确保在名称中使用[],如下所示:
<input type="hidden" name="somename[]" value="an image url"/>