In Laravel wird die with()-Methode als „Eager Loading“ verwendet, was bedeutet, dass Laravel die genaue Beziehung zusammen mit dem Hauptmodell vorab lädt. Die Verwendung dieser Methode kann das „1+N“-Abfrageproblem lindern „1+1“-Abfragen zur Lösung des Problems.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.
So verwenden Sie die with-Methode in Laravel
with()
with()-Methode wird zum „Durst Loading“ verwendet, was hauptsächlich bedeutet, dass Laravel mit der genauen Beziehung des Hauptmodells vorgeladen wird. Dies ist sehr hilfreich, wenn Sie alle Beziehungen in einem Modell hinzufügen möchten. Da „eifriges Laden“ das 1+N-Abfrageproblem lindert, sind nur 1+1 Abfragen erforderlich, um das Problem zu lösen, was die Abfragegeschwindigkeit erheblich verbessert.
Zum Beispiel:
user > hasMany > post $users = User::with('posts')->get(); foreach($users as $user){ $users->posts; // posts已经被加载了,没有增加DB查询 }
Erweiterung:
has()
has() Methode dient zum Filtern der Abfrageergebnisse des Modells basierend auf der Assoziationsbeziehung, daher ist ihre Funktion der Where-Bedingung sehr ähnlich. Wenn Sie nur has('post') verwenden, bedeutet dies, dass Sie nur dieses Modell erhalten möchten, das mindestens eine Post-Zuordnung hat.
Zum Beispiel:
user > hasMany > post //User至少有一条post的关联关系 $users = User::has('post')->get();
Sie können auch „.“ verwenden, um verschachtelte has-Anweisungen zu erstellen.
Zum Beispiel:
user > hasMany > post $user = User::has('post.votes', '>', '3')->get();
Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die with-Methode in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!