首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel将多个输入表单插入数据库

Laravel将多个输入表单插入数据库
EN

Stack Overflow用户
提问于 2016-12-02 12:20:03
回答 4查看 4.6K关注 0票数 0

我已经创建了一个像下面的图像一样的多输入表单,我想保存到数据库中,问题是当我使用dd()时,它只显示第二行数据。

如何将每一行保存到数据库?

这是我的laravel控制器

代码语言:javascript
复制
public function store(Request $request)
{

        $input = Input::all();
        $condition = $input['service_id'];
        foreach ($condition as $key => $condition) {
            $detailorder = new DetailOrder;
            $detailorder->serivce_id = $input['service_id'][$key];
            $detailorder->order_type = $input['order_type'][$key];
            $detailorder->select_plan = $input['select_plan'][$key];
            $detailorder->qty = $input['qty'][$key];
            $detailorder->unit_price = $input['unit_price'][$key];
            //$detailorder->mandays = $input['mandays'][$key];
            $detailorder->note = $input['note'][$key];
            }
            dd($detailorder);

}

这里是我的表脚本,我使用jQuery来创建它

代码语言:javascript
复制
function getCorporateService(id){
    // get data and parsing to column
    $.get("{{ url('salesorder/service')}}/"+id, function(data){
        console.log(id);
        console.log(data);

        $.each(data, function (index, element){
            $br = "<tr id='item'>";
            $br += "<td> <input class='input-small' type='text' id='order_identifier' name='order_identifier[]' readonly></td>";
            $br += "<td><input class='input-small' type='text' id='service_name["+id+"]' name='service_name[]' value='"+element.service_name+"' readonly>"
                        +"<input class='input-small' type='hidden' id='service_id["+id+"]' name='service_id[]' value='"+element.id+"' readonly></td>";
            $br += "<td><select id='order_type["+id+"]' name='order_type[]'> <option> - </option> <option value='add'>Add</option> <option value='change'>Change</option> <option value='cancel'>Cancel</option> </select></td>";
            $br += "<td><input class='input-small' type='text' id='select_plan["+id+"]' name='select_plan[]'></td>";
            $br += "<td><input class='input-mini' type='text' id='qty["+id+"]' name='qty[]' value='1' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><input class='input-small' type='text' id='unit_price["+id+"]' name='unit_price[]' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><input class='input-small' type='text' id='total_price["+id+"]' name='total_price[]' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><textarea class='input-small' id='notes["+id+"]' name='note[]'></textarea></td>";
            $br += "</tr>";

            $(".corporatesvc").append($br);

        });
   });
}
EN

Stack Overflow用户

发布于 2016-12-02 12:23:19

检查以下行:

代码语言:javascript
复制
foreach ($condition as $key => $condition) {
    $detailorder = new DetailOrder;
    // here you are creating a new object on each iteration, means on each iteration new object overrides old one, that's why you are getting the last record only
}

要解决此问题,请将此对象创建代码放在循环之外,然后重试。

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40924751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档