我试图通过在laravel post函数中使用for循环来存储数组值,但是选择框值将一起存储。
我的观点:
<table>
<tr>
<td>
<input type="text" class="form-control" autocomplete="off" name="particulars[]" >
</td>
<td>
<select multiple name="event[]">
<option value="">--select--</option>
<option value="E038|Event1">Event1</option>
<option value="E039|Event2">Event2</option>
<option value="E040|Event3">Event3</option>
<option value="E041|Event4">Event4</option>
</select>
</td>
</tr>
</table>
我的控制器:
for($i = 0; $i < count($data['particulars']); $i++) {
$c= new dailystatus(); // table name
$c->particulars = $data['particulars'][$i];
if(!empty($data['event'][$i])){
foreach($data['event'] as $eventname){
$repnamecode=$eventname;
$result=(explode('|', $repnamecode, 2));
$ecode[]=trim($result[0]);
$ename[]=trim($result[1]);
$evcode=implode($ecode, ',');
$evname=implode($ename, ',');
}else{
$evcode=0;
$evname=0;
}
$c->event = $evcode;
$c->evname=$evname;
$c->save();
}
}
数据库中的值假设如下图所示存储在图像中:
但价值观增加了一倍,存储如下:
那么请你建议我如何避免这种重复?任何帮助将不胜感激。
答案 0 :(得分:0)
如果没有完整的来源,确切地确定你的代码是如何工作的有点困难但你可能需要在调用$ c-&gt; save()之后将$ evcode和$ evname设置为0否则会积累价值。