2017-09-08 2 views
0

Ich habe versucht, einige Daten in der Sitzung durch Ajax zu speichern. Mittel von der Ajax Anfrage ich würde die product_id erhalten und sie innerhalb des Produktfeldes durch Sitzung setzen. Und ich möchte jede Sitzung Array-Daten abrufen.Wie man Datenfeld in Session speichert und es Laravel abruft?

Jeden Ajax-Request product_id wird in Session Array gespeichert werden: // für folgende Controller $ Produkte in der Sitzung zu speichern .Aber es nur letzte nicht die vorherige Anforderung gespeichert

public function postEnquote(Request $request) 
    { 
     $product = Product::where('id',$request->Input(['product_id']))->first(); 
     Session::put('product', $product); 
    } 

// Für jede Sitzung Abrufen i Daten verwendet, um eine folgende, funktioniert aber nicht richtig bedeutet, dass ich nicht alle Sitzungsdaten erhalten könnte ..

public function enquoteList() 
    { 
     foreach(Session::get('product') as $test) 
     { 
     var_dump($test->id); 
     } 

    } 
+0

Warum nicht einfach verwenden, um den '$ _SESSION' Superglobal direkt hinzufügen? –

+0

'Session :: put ('product', $ product);' - Sie überschreiben dies jedes Mal und hängen es nicht an. Wenn Sie mehrere Produkte benötigen, müssen Sie sie als Array innerhalb der Sitzung speichern. – aynber

+0

@RobertRocha ist es besser, eine Abstraktion zu verwenden, damit er Implementierungen austauschen kann. Wenn er '$ _SESSION' verwenden würde, wäre es ein Schmerz, alles in der App zu ändern. – ishegg

Antwort

1

Sie push hier verwenden.

Session::push('product', $product);

So alle neuen $product Vorstoß in 'product' Session-Variablen.

+0

Wie drucke ich dieses Array? bedeutet das Sitzungsfeld? – User57

+0

'$ products = Session :: get ('product');' und Sie können 'foreach' ausführen, da' $ products' ein Array ist. –

0

Verwendung push Wert auf ein Array

public function postEnquote(Request $request) 
{ 
    $product = Product::where('id',$request->Input(['product_id']))->first(); 
    Session::push('product', $product); 
} 
Verwandte Themen