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();
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!