dongxi8993 2019-07-18 04:32
浏览 46
已采纳

存储来自多个输入字段的数组值 - Laravel

What I'm trying to do is Schedule form represent in table with input field like day, start time, and end time.

In blade file, I have an array that I assigned values which is represent days (7 in total). The reason I put in array cause I don't want to write html code 7 times. I do FOR loop to display input field with assigned value.

Then, I want to input another value which is 'start time' and 'end time' according to each day.

Below is my code

In blade


    <?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 } ?>

In controller

$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);

What I expected, it should store input values into database table. The problem is after submitting the form, controller request empty value.

The error shown :

count(): Parameter must be an array or an object that implements Countable

Hope anyone can help. Thank you in advanced.

  • 写回答

4条回答 默认 最新

  • dongqigu0429 2019-07-18 04:46
    关注

    disabled input won't submit. You need to use readonly if you want to make it not editable by user.

    <input type="text" name="day[]" class="form-control" value="{{ $days[$i] }}" readonly/>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 易康econgnition精度验证
  • ¥15 线程问题判断多次进入
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致