【问题标题】:How do I instert multiple array into mysql using laravel如何使用 laravel 将多个数组插入 mysql
【发布时间】:2020-11-20 07:13:13
【问题描述】:

我想将表单中的数据插入到 mysql 中,但我遇到了错误。我该如何解决这个问题。

        @foreach($assignments as $item)
                <input type="text" name="class[]" value="{{$item->class}}" id="">
                <input type="text" name="year[]" value="{{$item->year}}" id="">
                <input type="text" name="subject_id[]" value="{{$item->subject_id}}" id="">

                <label for="" class="ml-3 mt-2 mb-1">Score</label>
                <input type="text" name="score[]" id="" style="width: 20rem;" class="form-control ml-3">
            </div>

    $class = $request->get("class");
    $year = $request->get("year");
    $subject_id = $request->get("subject_id");
    foreach ($request->get('score') as $key => $value){

        SubmitScores::create([
            'class' => $key[$class],
            'year' => $key[$year],
            'subject_id' => $key[$subject_id]
        ]);

    }

        @endforeach

得到的错误是: 尝试访问 int 类型值的数组偏移量

【问题讨论】:

  • 你有什么样的错误?分享你的错误。
  • @MahmoudAbdelgawad 检查我更新的帖子。我已经发布了错误。
  • 是不是你把键和数组搞混了?不应该是$class[$key] 等吗?

标签: arrays laravel forms foreach


【解决方案1】:

这些是倒退的:

$key[$class]
$key[$year]
$key[$subject_id]

应该是$variable[$key]$key 是整数索引,如 0、1、2 和 $class$year$subject_id ($variable) 是数组。所以:

foreach ($request->get('score') as $key => $value){
  SubmitScores::create([
    'class' => $class[$key],
    'year' => $year[$key],
    'subject_id' => $subject_id[$key]
  ]);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 2019-01-25
    • 1970-01-01
    • 2016-10-19
    • 2016-12-21
    • 2011-08-11
    相关资源
    最近更新 更多