Heim > Datenbank > MySQL-Tutorial > Wie führe ich eine verschachtelte Unterabfrage mit WHERE IN in Laravel durch?

Wie führe ich eine verschachtelte Unterabfrage mit WHERE IN in Laravel durch?

Barbara Streisand
Freigeben: 2024-12-10 05:00:14
Original
892 Leute haben es durchsucht

How to Perform a Nested Subquery with WHERE IN in Laravel?

Ausführen einer verschachtelten Unterabfrage in Laravel mit WHERE IN

In Laravel können Sie eine verschachtelte Unterabfrage mit der Methode whereIn ausführen. Diese Technik wird häufig verwendet, um Datensätze anhand von Kriterien auszuwählen, die aus einer Unterabfrage abgeleitet wurden.

Um die in der Frage bereitgestellte Abfrage durchzuführen, können Sie den folgenden Laravel-Code verwenden:

Products::whereIn('id', function($query){
    $query->select('product_id')
    ->from(with(new ProductCategory)->getTable())
    ->whereIn('category_id', ['223', '15'])
    ->where('active', 1);
})
->get();
Nach dem Login kopieren

Hier Code wählt die innere Unterabfrage die product_id-Werte aus, die den angegebenen Kriterien entsprechen, und platziert sie in einer temporären Tabelle. Die äußere Abfrage verwendet diese Werte dann als Teil ihrer WHERE IN-Klausel, um die entsprechenden Produktdatensätze abzurufen.

Dieser Ansatz wird aus Leistungsgründen der Verwendung eines Joins vorgezogen, da dies bei der von der Unterabfrage generierten temporären Tabelle der Fall sein kann effizienter von der Datenbank-Engine genutzt.

Das obige ist der detaillierte Inhalt vonWie führe ich eine verschachtelte Unterabfrage mit WHERE IN in Laravel durch?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage