Laravel ist ein beliebtes PHP-Entwicklungsframework, bei dem das Abfragen der Datenbank zu den häufig verwendeten Vorgängen gehört. Im eigentlichen Entwicklungsprozess ist es manchmal notwendig, die Abfrageergebnisse zu durchlaufen, um die Ergebnisse anzuzeigen oder weiterzuverarbeiten. In diesem Artikel wird erläutert, wie Abfrageergebnisse in Laravel in einer Schleife erstellt werden.
1. Daten abfragen
Bevor Sie mit der Schleife zur Abfrage der Ergebnisse beginnen, müssen Sie zunächst die Daten abfragen. Laravel bietet zwei Abfragemethoden: Eloquent ORM und Query Builder. Eloquent ORM ist eine objektrelationale Zuordnung, die Tabellen in der Datenbank in Objekte abbilden kann, wodurch die Bedienung der Datenbank vereinfacht wird. Query Builder ist ebenfalls eine Abfragemethode. Es handelt sich um ein Builder-Muster, das SQL-Abfrageanweisungen durch Kettenaufrufe erstellt.
Lassen Sie uns vorstellen, wie Sie Eloquent ORM und Query Builder zum Abfragen von Daten verwenden.
(1) Eloquent ORM-Abfragedaten
Wenn Sie Eloquent ORM zum Abfragen von Daten verwenden, müssen Sie zuerst ein entsprechendes Modell definieren. Das Modell entspricht der Tabelle in der Datenbank. Wir können Felder, zugehörige Tabellen, Datenoperationen und andere Methoden im Modell definieren.
Beispiel zum Definieren eines Modells:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { // 定义对应表的名称 protected $table = 'user'; // 定义主键名称 protected $primaryKey = 'id'; // 定义可被批量赋值的字段 protected $fillable = [ 'name', 'age', 'gender' ]; // 定义关联关系等方法 }
Nachdem Sie das Modell definiert haben, können Sie Eloquent ORM zum Abfragen verwenden.
Alle Daten abfragen:
$users = App\Models\User::all();
Ein Datenelement abfragen:
$user = App\Models\User::find(1);
Mehrere Datenelemente basierend auf Bedingungen abfragen:
$users = App\Models\User::where('age', '>', 18)->get();
Hier ist zu beachten, dass das Ergebnis der Eloquent ORM-Abfrage ein Sammlungsobjekt und kein Objekt ist Array. Sammlungsobjekte bieten viele praktische Methoden, die uns bei der Datenverarbeitung helfen.
(2) Query Builder zum Abfragen von Daten
Mit dem Query Builder zum Abfragen von Daten rufen wir direkt die Methode der DB-Klasse auf. Wenn Sie Query Builder verwenden, müssen Sie zuerst die Tabellenmethode der DB-Klasse aufrufen, um die Abfragetabelle anzugeben, und können dann über Kettenaufrufe eine SQL-Abfrageanweisung erstellen.
Alle Daten abfragen:
$users = DB::table('user')->get();
Ein Datenelement abfragen:
$user = DB::table('user')->where('id', '=', 1)->first();
Mehrere Datenelemente basierend auf Bedingungen abfragen:
$users = DB::table('user')->where('age', '>', 18)->get();
2. Durchlaufen Sie die Abfrageergebnisse
Nachdem wir die Daten abgefragt haben, können wir die Abfrage durchlaufen Ergebnisse. Sie können zum Durchlaufen eine foreach-Schleife oder eine for-Schleife verwenden.
(1) Foreach-Schleife verwenden
Wenn Sie eine Foreach-Schleife verwenden, durchlaufen Sie einfach direkt die Abfrageergebnisse (Collection-Objekt, das von Eloquent ORM abgefragt wird, oder stdClass-Objekt, das vom Query Builder abgefragt wird).
Eloquentes ORM-Beispiel:
$users = App\Models\User::all(); foreach($users as $user) { echo $user->name; }
Query Builder-Beispiel:
$users = DB::table('user')->get(); foreach($users as $user) { echo $user->name; }
(2) Verwendung einer for-Schleife
Bei Verwendung einer for-Schleife müssen Sie die Abfrageergebnisse zuerst in ein Array konvertieren und dann durchlaufen.
Eloquent ORM-Beispiel:
$users = App\Models\User::all()->toArray(); $total = count($users); for($i = 0; $i < $total; ++$i) { echo $users[$i]['name']; }
Query Builder-Beispiel:
$users = DB::table('user')->get()->toArray(); $total = count($users); for($i = 0; $i < $total; ++$i) { echo $users[$i]->name; }
Zusammenfassung
In diesem Artikel haben wir zwei Methoden zum Abfragen von Daten mithilfe von Eloquent ORM und Query Builder in Laravel vorgestellt und Methoden zur Verwendung der foreach-Schleife und des for-Schleifenbeispiels bereitgestellt Code zum Durchlaufen. Im eigentlichen Entwicklungsprozess können Sie entsprechend den spezifischen Geschäftsanforderungen die geeignete Methode für die Datenabfrage und -durchquerung auswählen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zum Schleifen von Abfrageergebnissen in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!