2016-08-09 99 views
1

Zumindest scheint es so zu sein.Laravel die eloquente Instanz in eine Builder-Instanz ändern

Zuerst rufe ich mehrere Modelle:

$ConfirmedCards = JobCardHead::where('Status', '=', 'Confirmed')->get(); 

Dann benutze ich eine für jede Schleife für jedes Modell zu arbeiten:

foreach ($ConfirmedCards as $card) { 
... 
} 

Jetzt jede $-Karte ist eine Sammlung richtig? Laravel sagt, dass ein beredtes Modell ist die Sammlung Klasse erweitert und wenn ich es tue,

foreach ($ConfirmedCards as $card) { 
    echo $card 
} 

ich die Daten in das bekommen, was wie eine Sammlung sieht definitiv. Aber wenn ich die Sammlung Methode put zu verwenden versuchen,(), wie dieser

foreach ($ConfirmedCards as $card) { 
    $card -> put('StartDate', 'someDate'); 
} 

Ich erhalte eine Fehlermeldung, dass ich versuche, auf einer Abfrage \ Builder-Instanz setzen() aufrufen, wie $ Karte eine Builder-Instanz ?

Bitte Hilfe. Danke

Antwort

2

Ihre $ Karte Variable ist keine Sammlung, sondern ein Objekt erstreckt Illuminate \ Database \ Eloquent \ Modell Klasse. Wenn Sie versuchen, Echo dieses Objekt, Sie sehen es serialisiert zu JSON.

+0

Danke, weißt du, wie man es in eine Sammlung ändern kann? –

+0

Ich bin mir nicht sicher, was Sie brauchen - wie können Sie ein einzelnes Objekt in eine Sammlung von Objekten verwandeln? –