2016-04-22 38 views
4

私はWebアプリケーションを開発しています。複数のレコードを一度に挿入できるシナリオがあります。result/createフォームを作成しました。ユーザーがsubmitをクリックすると、データベースに挿入された配列形式のすべてのレコード/行データが必要になります。私がsubmitを押すと、このエラーが発生しますUndefined index: idLaravel Eloquentを使用してデータベースに複数のレコードを挿入する方法

PS:私はLaravel 5.2とリソースコントローラを使用しています。

レコードビューの追加:

@extends('layouts.app') 
@section('content') 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('.add').click(function() { 
      var n = ($('.resultbody tr').length - 0) + 1; 
      var tr = '<tr><td class="no">' + n + '</td>' + 
        '<td><input type="text" class="name form-control" name="name[]" value="{{ old('name') }}"></td>'+ 
        '<td><input type="text" class="fname form-control" name="fname[]" value="{{ old('fname') }}"></td>'+ 
        '<td><input type="text" class="rollno form-control" name="rollno[]" value="{{ old('rollno') }}"></td>'+ 
        '<td><input type="text" class="obtainedmarks form-control" name="obtainedmarks[]" value="{{ old('email') }}"></td>'+ 
        '<td><input type="text" class="totalmarks form-control" name="totalmarks[]"></td>'+ 
        '<td><input type="text" class="percentage form-control" name="percentage[]"></td>'+ 
        '<td><input type="button" class="btn btn-danger delete" value="x"></td></tr>'; 
      $('.resultbody').append(tr); 
     }); 
     $('.resultbody').delegate('.delete', 'click', function() { 
      $(this).parent().parent().remove(); 
     }); 
    }); 
</script> 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-10 col-md-offset-1"> 
      <div class="panel panel-default"> 
       <div class="panel-heading">Add Results</div> 

       <div class="panel-body"> 
        <form class="form-horizontal" role="form" method="POST" action="{{ url('/result') }}"> 
         {!! csrf_field() !!} 
        <table class="table table-striped"> 
          <thead> 
           <tr> 
            <th>ID</th> 
            <th>Student Name</th> 
            <th>Father Name</th> 
            <th>Roll No</th> 
            <th>Obtained Marks</th> 
            <th>Total Marks</th> 
            <th>%</th> 
            <th>Delete</th> 
           </tr> 
          </thead> 
          <tbody class="resultbody"> 
           <tr> 
            <td class="no">1</td> 
            <td> 
             <input type="text" class="name form-control" name="name[]" value="{{ old('name') }}"> 
            </td> 
            <td> 
             <input type="text" class="fname form-control" name="fname[]" value="{{ old('fname') }}"> 
            </td> 
            <td> 
             <input type="text" class="rollno form-control" name="rollno[]" value="{{ old('rollno') }}"> 
            </td> 
            <td> 
             <input type="text" class="obtainedmarks form-control" name="obtainedmarks[]" value="{{ old('email') }}"> 
            </td> 
            <td> 
             <input type="text" class="totalmarks form-control" name="totalmarks[]"> 
            </td> 
            <td> 
             <input type="text" class="percentage form-control" name="percentage[]"> 
            </td> 
            <td> 
             <input type="button" class="btn btn-danger delete" value="x"> 
            </td> 
           </tr> 

          </tbody> 
         </table>  
         <center><input type="button" class="btn btn-lg btn-primary add" value="Add New Item"> 
         <input type="submit" class="btn btn-lg btn-default" value="Submit"></center> 
         </form> 
       </div> 
      </div> 
     </div> 

    </div><!-- First Row End --> 
</div> <!-- Container End --> 

@endsection 

学生コントローラー:

public function store(Request $request) 
    { 
     $input = Input::all(); 
     $condition = $input['id']; 
     for($id = 0; $id<$condition; $id++){ 
      $student = new Student; 
      $student->name = $input['name'][$id]; 
      $student->save(); 
     } 
     return view('students.index'); 
    } 

答えて

3

あなたは何idフォームフィールドを持っていないので、あなたがそのエラーを取得しています。これを試してみてください:Students.phpライン48で

public function store(Request $request) 
{ 
    $input = Input::all(); 
    $condition = $input['name']; 
    foreach ($condition as $key => $condition) { 
     $student = new Student; 
     $student->name = $input['name'][$key]; 
     $student->fname = $input['fname'][$key]; 
     $student->rollno = $input['rollno'][$key]; 
     $student->obtainedmarks = $input['obtainedmarks'][$key]; 
     $student->totalmarks = $input['totalmarks'][$key]; 
     $student->percentage = $input['percentage'][$key]; 
     $student->save(); 
    } 
    return view('students.index'); 
} 
+0

ErrorException: 未定義のオフセット:0を、私はこのエラー –

+1

ああを取得しています、私は後方 'key'sを持っていました。編集を参照してください。 – Samsquanch

+0

チャームのように働いたよ! –

関連する問題