我要执行的是计划表在表中使用日期,开始时间和结束时间等输入字段表示。
在刀片文件中,我有一个数组,我为其分配了代表天(总共7天)的值。我放入数组的原因导致我不想编写html代码7次。我执行FOR循环以显示具有指定值的输入字段。
然后,我想根据每天输入另一个值,即“开始时间”和“结束时间”。
下面是我的代码
刀片式服务器
<?php
$days = array("Monday","Tuesday","Wednesday","Thursday","Friday","Satuday");
$daylength=count($days);
for($i=0; $i<$daylength; $i++)
{
?>
<tr>
<td><input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" disabled/></td>
<td><input type="time" name="start_time[]" class="form-control"/></td>
<td><input type="time" name="end_time[]" class="form-control"/></td>
<td></td>
</tr>
<?php } ?>
在控制器中
$days = $request->input('day');
$start_time = $request->input('start_time');
$end_time = $request->input('end_time');
$zone_id = $zone->id;
for($count = 0; $count < count($days); $count++)
{
$data = array(
'day' => $days[$count],
'start_time' => $start_time[$count],
'end_time' => $end_time[$count],
'zone_id' => $zone_id,
);
$insert_schedule[] = $data;
}
Schedule::insert($insert_schedule);
我所期望的,它将输入值存储到数据库表中。问题是提交表单后,控制器请求空值。
显示的错误:
count():参数必须是实现的数组或对象 可数的
希望任何人都可以提供帮助。谢谢你。
答案 0 :(得分:0)
更改
ID Mark
--------------
1 AUS, BRA, CHN, ECE, EG,JAP,RUS
收件人
<input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" disabled/>
禁用的输入将不与表单请求一起提交。如果您不希望用户更改值,则必须使用其他技术。可以隐藏吗?
答案 1 :(得分:0)
已禁用的输入不会提交。如果要使其不能被用户编辑,则需要使用只读。
<input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" readonly/>
答案 2 :(得分:0)
尝试一下:
for ($i = 0; $i < $start_time; $i++) {
foreach ($days as $day) {
$insert_array[] = array(
'day' => $day[$i ],
'start_time' => $start_time[$i ],
'end_time' => $end_time[$i ],
'zone_id' => $zone_id,
);
}
}
答案 3 :(得分:0)
count()函数try中存在问题:
for($count = 0; $count < collect($days)->count(); $count++)
{
$data = array(
'day' => $days[$count],
'start_time' => $start_time[$count],
'end_time' => $end_time[$count],
'zone_id' => $zone_id,
);
$insert_schedule[] = $data;
}