Heim > PHP-Framework > Laravel > Hauptteil

Wofür wird Wherehas in Laravel verwendet?

WBOY
Freigeben: 2022-06-07 16:06:06
Original
4814 Leute haben es durchsucht

Wherehas filtert in Laravel die Abfrageergebnisse des Modells basierend auf der Assoziationsbeziehung und ermöglicht das Hinzufügen von Filterbedingungen für dieses Modell. Es wird häufig zum Filtern von Daten über die Slave-Tabelle in der Master-Tabelle verwendet. User::whereHas('Slave table ', function($...){$...->where(filtercondition);})->get()".

Wofür wird Wherehas in Laravel verwendet?

Die Betriebsumgebung dieses Artikels: Windows 10-System, Laravel Version 6, Dell G3-Computer.

Die Methode wherehas

with()

with() in Laravel wird zum „eifrigen Laden“ verwendet, was hauptsächlich bedeutet, dass Laravel die genaue Beziehung zum Hauptmodell vorab lädt. 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: Die Methode

user > hasMany > post

$users = User::with('posts')->get();
foreach($users as $user){
    $users->posts; // posts已经被加载了,没有增加DB查询
}
Nach dem Login kopieren

has()

has() filtert die Abfrageergebnisse des Modells basierend auf der Assoziationsbeziehung, daher ist ihre Funktion sehr ähnlich die Where-Bedingung. 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 > post

//User至少有一条post的关联关系
$users = User::has('post')->get();
Nach dem Login kopieren

Sie können auch „.“ verwenden, um verschachtelte has-Anweisungen zu erstellen.

Zum Beispiel:

Benutzer > dieses Modell.

Zum Beispiel:

Benutzer >

Das obige ist der detaillierte Inhalt vonWofür wird Wherehas in Laravel verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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