2017-09-11 2 views
0

Ich muss mehrere Kontrollkästchen zu einzelnen Feld in der Datenbank speichern.Mehrere Kontrollkästchen speichern - Laravel 5.4

  <div class="checkbox"> 
       <label> 
        <input type="checkbox" name="expresion_vegetal_id[]" value="1">Raíz 
       </label> 
      </div> 

      <div class="checkbox"> 
       <label> 
        <input type="checkbox" name="expresion_vegetal_id[]" value="3">tronco 
       </label> 
      </div> 
      <div class="checkbox"> 
       <label> 
        <input type="checkbox" name="expresion_vegetal_id[]" value="4">corteza 
       </label> 
      </div> 

Controller:

$ficha_tecnica = new Ficha_Tecnica(); 
$options = $request->get('expresion_vegetal_id'); 
$ficha_tecnica->expresion_vegetal_id = $options; 
$ficha_tecnica->save(); 

diese zu retten versucht, die Werte in [ ""], ich brauche nur die Zahlen speichern

insert into `fichas_tecnicas` (`expresion_vegetal_id`) values (["1","3","4"]) 

Wenn ich versuche zu retten , zeigen Sie die nächste Nachricht

1366 Incorrect integer value: '["1","4"]' for column 'expresion_vegetal_id' 
+0

Ich bin nicht vertraut mit 'Ficha_Tecnica' noch Ihre Datenbank aber das Lesen der Fehlermeldung Sie scheinen habe einen Typfehler. Ändern Sie also entweder Ihr Datenbankfeld in einen Array-Typ oder ändern Sie Ihr Array in eine ganze Zahl. – Dominik

Antwort

0

Sie können nicht a dd dass, weil Sie versuchen können, die expresion_vegetal_id immer noch im Array-Format zu loopen. Ich sehe in Ihrer Frage müssen Sie das im String-Format hinzufügen. Sie müssen dieses Array zuerst Schleife und einzeln speichern oder Sie können erstellt

Ich gebe Ihnen die Probe mit Schleife. Sie Code wie folgt aussieht

$ficha_tecnica = new Ficha_Tecnica(); 
foreach ($$request->expresion_vegetal_id as $expresion_vegetal_id) { 
    $ficha_tecnica->fresh(); 
    $ficha_tecnica->expresion_vegetal_id = $expresion_vegetal_id; 
    $ficha_tecnica->save(); 
} 

ich hoffe, dass Sie die andere gleiche Art und Weise finden können ....

Verwandte Themen