2016-12-29 145 views
0

请帮我,我想插入一个表,其第一行是固定的 ,其他的是由jQuery添加的。在数据库中插入一个数组laravel 4.2

我的表位于表单的中心。

我的问题是在foreach的水平,我想用我的价值注册我的分贝我认为我的错误是,我不知道如何在控制器中使用foreach

我的观点:

<table class="mws-table" id="tableFeesCompSheet"> 
    <thead> 
    <tr> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Max_interval_amount')}}</th> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Law5_fixed_amount')}}</th> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Law5_rate')}}</th> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Law5_min_amount')}}</th> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Law5_max_amount')}}</th> 
     <th>{{Lang::get('labels.fees_comp_sheet_labels.Law5_grace_amount')}}</th> 
     <th class="nosort">{{Lang::get('labels.action')}}</th> 
    </tr> 
    </thead> 
    <tbody> 

    <tr id="myTableRow"> 
     <td> 
     <input type="text" name="max_interval_amount[]" class="amount no-padding" value="{{Input::get('max_interval_amount')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <input type="text" id="law5_fixed_amount" name="law5_fixed_amount[]" class="amount no-padding" value="{{Input::get('law5_fixed_amount')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <input type="text" id="law5_rate" name="law5_rate[]" class="amount no-padding" value="{{Input::get('law5_rate')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <input type="text" id="law5_min_amount" name="law5_min_amount[]" class="amount no-padding" value="{{Input::get('law5_min_amount')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <input type="text" id="law5_max_amount" name="law5_max_amount[]" class="amount no-padding" value="{{Input::get('law5_max_amount')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <input type="text" id="law5_grace_amount" name="law5_grace_amount[]" class="amount no-padding" value="{{Input::get('law5_grace_amount')}}" required="" data-parsley-type="number"> 
     </td> 
     <td> 
     <div rel="tooltip" data-placement="bottom" id="add" class="btn" data-original-title="Ajouter une ligne"> 
      <i class="icon-edit"></i> 
     </div> 
     </td> 
    </tr> 

    </tbody> 
</table> 

jQuery代码在数组中添加一个新行:

function deleteRecord(ele) { 
    $(ele.parentNode.parentNode).remove(); 
} 
$("#delete").click(function deleteRow() { 
    // console.log('walid'); 
    // $("tr:has(input:checked)").remove(); 
}); 

$('#send').click(function(){ 
    $.each($('.field'), function() { 
     $('<input />').attr('type', 'hidden') 
      .attr('name', $(this).attr('name')) 
      .attr('value', $(this).val()) 
      .appendTo('#add_fees_rules'); 
    } 
); 

$("#add_fees_rules").submit(); 
return false; 
}); 

和我的控制器:

$fees_rules_comp_sheet= input::all(); 

foreach ($fees_rules_comp_sheet as $fees_comp_sheet) { 

    $fees_comp_sheet = new FeesCompSheet(); 
    $fees_comp_sheet->fees_comp_sheet_id = $this->getFeesCompSheetId(); 
    $fees_comp_sheet->max_interval_amount = Input::get('max_interval_amount'); 
    $fees_comp_sheet->law5_fixed_amount = Input::get('law5_fixed_amount'); 
    $fees_comp_sheet->law5_rate = Input::get('law5_rate'); 
    $fees_comp_sheet->law5_min_amount = Input::get('law5_min_amount'); 
    $fees_comp_sheet->law5_max_amount = Input::get('law5_max_amount'); 
    $fees_comp_sheet->law5_grace_amount = Input::get('law5_grace_amount'); 
    $fees_comp_sheet->save(); 
+0

你的错误是什么? –

回答

0

可能有一些潜在的问题根据您提供的信息。我不能确切地说。因为你没有提供详细的错误信息。

首先,请检查您的型号FeesCompSheet文件。如果您没有以下代码行,则可能发生错误MassAssignmentException

protected $fillable = ['fees_comp_sheet_id','max_interval_amount', 
         'law5_fixed_amount','law5_rate','law5_min_amount', 
         'law5_max_amount','law5_grace_amount']; 

二,请从所有输入型除去[]name属性。

e.g

<input type="text" id="law5_rate" name="law5_rate" class="amount no-padding" value="{{Input::get('law5_rate')}}" required="" data-parsley-type="number"> 

,如果我错了纠正我。 Input::get('law5_rate');含义,name属性来自您的输入类型。不是id属性。

+0

是的,这是我输入的名称属性,我的错误是: ErrorException(E_WARNING) HELP preg_replace():参数不匹配,模式是字符串,而替换是数组 – kawtar