2016-05-23 18 views
1

ich mit drei Spalten MySQL-Tabelle 'test' haben,ein Array eloquent Modell in Laravel Konvertieren

1.sno 2.name 4.country 

dieser Code

$person = \App\Test::find(1); 
$person->country;   //Defined in Test eloquent model 

nun leicht verständlich ist, ich, so etwas zu tun:

$p = ['sno' => 1, 'name' => 'Joe', 'country' => '1' ]; 
$p->country;  //Return relevent column form countries table as defined in Model 

Die Sache zu erinnern ist, dass der Benutzer, den ich versuche zu mappen, bereits in der Datenbanktabelle vorhanden ist. Wie kann ich ein Array in ein eloquentes Modell umwandeln?

+0

Sie die 'Fill Modell verwenden können()' Methode das Array zu einem bevölkerten Modell zu konvertieren –

+0

ich nicht zu füllen Ich versuche, ich zu kartieren versuche ... – Eirtaza

+0

könnte u bitte geben Sie mir ein Beispiel – Eirtaza

Antwort

1

Sie konnten die Modellklasse ohne Attribute instanziiert:

$dummy = new \App\Test; 

Dann können Sie die newInstance() Methode aufrufen:

$attributes = ['sno' => 1, 'name' => 'Joe', 'country' => '1' ]; 
$desiredResult = $dummy->newInstance($attributes, true); 

Die true Fahne im Verfahren beredt erzählt, dass die Instanz bereits vorhanden in der Datenbank, damit Sie normal weiterarbeiten können. Jetzt können Sie tun:

$desiredResult->country //'1' 
+0

und was ist, wenn ich ein Array mit mehreren $ -Attributen (Array of Arrays) haben. Wie werde ich sie alle ohne Iteration instanziieren, so dass ich in der Lage sein kann, dies zu tun $ selledResult-> FirstI() -> Land; – Eirtaza

Verwandte Themen