Heim > PHP-Framework > Laravel > Hauptteil

Detaillierte Erläuterung der Methode zum Schleifen von Abfrageergebnissen in Laravel

PHPz
Freigeben: 2023-04-06 16:53:45
Original
1522 Leute haben es durchsucht

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'
    ];

    // 定义关联关系等方法
}
Nach dem Login kopieren

Nachdem Sie das Modell definiert haben, können Sie Eloquent ORM zum Abfragen verwenden.

Alle Daten abfragen:

$users = App\Models\User::all();
Nach dem Login kopieren

Ein Datenelement abfragen:

$user = App\Models\User::find(1);
Nach dem Login kopieren

Mehrere Datenelemente basierend auf Bedingungen abfragen:

$users = App\Models\User::where('age', '>', 18)->get();
Nach dem Login kopieren

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();
Nach dem Login kopieren

Ein Datenelement abfragen:

$user = DB::table('user')->where('id', '=', 1)->first();
Nach dem Login kopieren

Mehrere Datenelemente basierend auf Bedingungen abfragen:

$users = DB::table('user')->where('age', '>', 18)->get();
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Query Builder-Beispiel:

$users = DB::table('user')->get();
foreach($users as $user) {
    echo $user->name;
}
Nach dem Login kopieren

(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][&#39;name&#39;];
}
Nach dem Login kopieren

Query Builder-Beispiel:

$users = DB::table(&#39;user&#39;)->get()->toArray();
$total = count($users);
for($i = 0; $i < $total; ++$i) {
    echo $users[$i]->name;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!