2016-11-07 4 views
0

ich aus einem Formular This is how the form appearsEinfügen mehrerer Datensätze in einem Formular

 <label>Drug</label> 
     <select class="form-inline input-sm " name="drug[]" id="drug"> 
      @foreach($drugs as $key => $drug) 
        <option value="{{$drug->id}}"> {{$drug->name}}</option> 
      @endforeach 
     </select> 

     <input class="input-sm" type="number" class="form-control" id="amount_received" name="amount_received[]" placeholder="Amount received"> 

     <button type="button" name="add" id="add">Add More</button> 

     <button type="submit" class="btn btn-primary"id="submit">Submit</button> 

Mein Controller

public function addNewStock() 
{ 
    $input = Input::all(); 
    $insert = array(); 
    foreach($input['drug'] as $key => $drug) { 
     $insert[$key]['drug'] = $drug; 
    } 
    foreach($input['amount_received'] as $item => $amount_received) { 
     $insert[$item]['amount_received'] = $amount_received; 
    } 
    Stock::insert($insert); 

} 

Dies ist das Ergebnis ich mehrere Datensätze einzufügen versuche, wenn ich dd ($ Eingang). Dies ist, nachdem ich zwei Akten einreichen, Problem ist es den letzten Datensatz nimmt und speichert i zweimal in der Datenbank

array:3 [▼ 
    "_token" => "Oz9cSvNuPmPPHKAw6uKbnmA5DIMBsxKsnubaliHt" 
    "drug" => array:2 [▼ 
    0 => "1" 
1 => "10" 
    ] 
    "amount_received" => array:2 [▼ 
0 => "2" 
1 => "4" 
    ] 
] 

freundlicher unterstützen.

+0

Können Sie 'dd ($ input)' und in Ihrer Frage posten? –

+0

Haben Sie gefragt, danke – Ashley

Antwort

0

Die Auswahl sollte mehrere Attribute haben, wenn Sie ein Array erstellen möchten.

<select class="form-inline input-sm " multiple name="drug[]" id="drug"> 

Auch $ input ['menge_received'] isnt 'Array.

$insert[$item]['amount_received'] = $input['amount_received']; 

wäre genug.

+0

Ich habe versucht, dass es nicht funktioniert, – Ashley

+0

aktualisierte Antwort, versuchen Sie nicht foreach $ input ['menge_received'] - es ist Single, vielleicht schreit es Fehler. – cssBlaster21895

+0

Die MengeReceived sollte auch ein Array sein. Wenn Sie sich das Bild ansehen, das ich gepostet habe, versuche ich ein Formular zu haben, das mehrere Datensätze in einer Tabelle in der Datenbank einreicht. Jedes Medikament wird seine Menge haben – Ashley

Verwandte Themen