我试图将数据存储在此表中:
newspaper_id
的article_id
评论(字符串)
这就是我的HTML的样子:
<div class="newspaper-options">
<input class="form-control" name="data[]" type="text">
<input type="checkbox" class="article-option" name="article_id[]" value="3"> Active
</div>
<div class="newspaper-options">
<input class="form-control" name="data[]" type="text">
<input type="checkbox" class="article-option" name="article_id[]" value="1"> Active
</div>
当我只填写第二份报纸选项并检查时,这是我回来的结果:
"comment" => array:2 [▼
0 => ""
1 => "option 2"
]
"article_id" => array:1 [▼
0 => "1"
]
我遇到的问题是如何对输入值进行分组,以便将其存储在我的表中。我的复选框的值是article_id的值。并且text字段用于填充数据库中的注释。
非常感谢任何帮助!
答案 0 :(得分:0)
将该信息正确放入数据库时缺少的信息是数组位置到article_id的映射。
E.g。放
<input name="article[]" type="hidden" value="...">
在每个<div class="newspaper-options">
喜欢这样
<div class="newspaper-options">
<input name="article[]" type="hidden" value="3">
<input class="form-control" name="data[]" type="text">
<input type="checkbox" class="article-option" name="article_id[]" value="3"> Active
</div>
<div class="newspaper-options">
<input name="article[]" type="hidden" value="1">
<input class="form-control" name="data[]" type="text">
<input type="checkbox" class="article-option" name="article_id[]" value="1"> Active
</div>
然后在您的控制器中,您可以循环使用Input :: get(&#39; article&#39;),选中活动复选框并添加评论。
E.g。
foreach(Input::get('article') as $pos => $article_id){
if(in_array($article_id, Input::get('article_id')){
add $article_id and Input::get('comment')[$pos] to DB
}
}
除此之外,你应该为你的article_id字段找到一个更好的名字,比如&#34; active&#34;并改变&#34;数据&#34;到&#34;评论&#34;。
如果您可以首先使用键添加输入字段,则可以更轻松地处理它们。我想有可能做到
<input class="form-control" name="data[3]" type="text">
<input type="checkbox" class="article-option" name="article_id[3]" value="3"> Active