2017-11-07 3 views
0

Wenn ich versuche, meine Daten in der Datenbank zu speichern, kann ich aus irgendeinem Grund nur eine ganze Zahl und nicht mehrere ganze Zahl speichern. Kann mir jemand sagen warum? Ich dachte, es könnte sein, weil ich FamilyAge als Integer in der Datenbank anstelle einer Zeichenfolge verwende.Speichern multiple Integer in MySQL-Datenbank Laravel

Hier ist der Screenshot der Daten in meiner Datenbank, Entschuldigung für die seltsamen Daten, die ich gesetzt habe, gebe ich nur einige zufällige Wörter zum Testen ein. Wie Sie in meinem Screenshot, letzte Zeile, sehen können, soll ich 3 Daten speichern, aber für das Familienalter werden nur 1 Daten gespeichert. enter image description here

family_info Controller (das ist, wie ich es gespeichert)

public function submit(Request $request) 
{ 

    $personal_info = Session::get('data'); 

    $data7 = array(); 
    $data7['NameOfFamily'] = implode(' , ', $request->NameOfFamily); 
    $data7['Relationship'] = implode(' , ', $request->Relationship); 
    $data7['FamilyAge'] = implode(' , ', $request->FamilyAge); 
    $family_info = new family_info; 
    $family_info = family_info::create($data7); 
    $family_info->personal_infos()->associate($personal_info); 
    $family_info->save(); 

} 

familyInfos Tabelle:

Schema::create('family_infos', function (Blueprint $table) { 
    $table->increments('id'); 
    $table->engine = 'InnoDB'; 
    $table->string('NameOfFamily'); 
    $table->string('Relationship'); 
    $table->integer('FamilyAge'); 
    $table->integer('user_id'); 
    $table->timestamps(); 
}); 
+0

Ihre Datentyp varchar sein Strings zu speichern. Wenn Sie ein Komma-getrenntes Alter hinzufügen. – Suraj

+0

@Suraj danke für die Antwort, was meinst du mit meinem Datentyp muss varchar sein? Wie mache ich das? Ich weiß nur in der Datenbank kann ich es als Varchar festlegen, aber wie mache ich es im Code. Kannst du mir ein Beispiel zeigen? – blastme

Antwort

1

von Ihnen bei Ihrem Schema suchen sind eine Integer-Typ für FamilyAge $table->integer('FamilyAge'); mit denen sein sollte eine Zeichenfolge zum Speichern von durch Komma getrennten Werten $table->string('FamilyAge');

Ich nehme an, Sie sind versucht, die Familie Alter wie diese Sie diese https://laravel.com/docs/5.5/migrations#columns zu lesen 22, 45, 56

Schema::create('family_infos', function (Blueprint $table) { 
    $table->increments('id'); 
    $table->engine = 'InnoDB'; 
    $table->string('NameOfFamily'); 
    $table->string('Relationship'); 
    $table->string('FamilyAge'); 
    $table->integer('user_id'); 
    $table->timestamps(); 
}); 

Ich empfehle zu speichern, die erklärt, wie die Migration Laravel schaffen sollte

+0

Yup it work, vielen Dank :) – blastme

+0

Froh, es hat für Sie gearbeitet. – Suraj