2016-05-26 5 views
0

Wenn dieser Controller in meinem Laravel haben,Fluent Interface in PHP Laravel Querybuilder

$employees = DB::table('employeed')->get(); 

bedeutet es, dass jeder Datensatz in $ Mitarbeiter haben/ein Fluent Interface wie der Methodentabelle in DB :: Tabelle erben? Ist das der Grund, warum ich so etwas wie

{{ $employee->name}} 

innerhalb einer for-Schleife von $ Mitarbeiter, wo jeder Datensatz zugeordnet ist $ Mitarbeiter in einer Ansicht tun?

Antwort

1

Dies ist, weil Sie ein Array von stdClass Objekte haben, die Sie durchlaufen, die von dieser DB-Abfrage zurückgegeben wird. Jedes Element im Array wird als $employee wie die Schleife wiederholt eingestellt werden, vorausgesetzt, Sie verwenden eine foreach Schleife wie folgt:

@foreach ($employees as $employee) 
    {{ $employee->name }} 
@endforeach 

aktualisieren

Referenzen für Query Builder und Eloquent

Abfrage Builder

Die get-Methode gibt ein Array von Ergebnissen zurück, wobei jedes Ergebnis i s Eine Instanz des PHP-StdClass-Objekts.

Eloquent

Für Eloquent Methoden wie alle und erhalten, die mehrere Ergebnisse abrufen, eine Instanz von Illuminate \ Database \ Eloquent \ Sammlung zurückgegeben. ... Natürlich können Sie auch einfach eine Schleife über diese Sammlung wie ein Array

Laravel Docs - Query Builder - Retrieving Results

Laravel Docs - Eloquent - Retrieving Multiple Models

+0

so beide Querybuilder und eloquent Rückkehr stdClass für abgerufenen Aufzeichnungen? –

+1

Wenn Sie "get" mit Eloquent verwenden, erhalten Sie eine Collection (Objekt) zurück, die viele Model-Instanzen (Objekte) oder keine enthalten kann. – lagbox