Heim PHP-Framework Laravel So erstellen Sie komplexe Abfragebedingungen in Laravel

So erstellen Sie komplexe Abfragebedingungen in Laravel

Apr 21, 2023 am 10:03 AM

In Laravel ist die Erstellung komplexer Abfragebedingungen eine sehr häufige Anforderung. Manchmal müssen wir Daten abfragen, die mehrere Bedingungen gleichzeitig erfüllen, manchmal müssen wir den Maximal- oder Minimalwert eines Feldes abfragen, manchmal müssen wir Daten abfragen, die bestimmte Bedingungen nicht erfüllen usw. In diesem Artikel wird erläutert, wie Sie den Abfrage-Builder von Laravel verwenden, um diese Anforderungen zu erfüllen.

  1. Grundlegende Abfrage

Werfen wir zunächst einen Blick auf die grundlegende Abfragesyntax von Laravel. In Laravel können wir die table()-Methode der DB-Fassade verwenden, um die Tabelle anzugeben, die wir abfragen möchten, und dann die select()-Methode verwenden, um die Felder anzugeben, die wir abfragen müssen.

Zum Beispiel fragt der folgende Code alle Datensätze in der Benutzertabelle ab und gibt deren ID- und Namensfelder zurück:

DB::table('users')->select('id', 'name')->get();
Nach dem Login kopieren

Wir können auch die Methode where() verwenden, um Abfragebedingungen anzugeben. Der folgende Code fragt beispielsweise die Datensätze in der Benutzertabelle ab, die älter als 18 sind:

DB::table('users')->where('age', '>', 18)->get();
Nach dem Login kopieren
  1. Kombination von Abfragebedingungen

Wenn wir mehrere Bedingungen gleichzeitig erfüllen müssen, können wir where() verwenden Methode zum Kombinieren der Abfragebedingungen.

Zum Beispiel fragt der folgende Code die Benutzertabelle nach Datensätzen ab, die sowohl älter als 18 als auch männlich sind:

DB::table('users')->where('age', '>', 18)->where('gender', 'male')->get();
Nach dem Login kopieren

Wir können auch die Methode orWhere() verwenden, um anzugeben, dass eine der Bedingungen erfüllt ist.

Zum Beispiel fragt der folgende Code die Benutzertabelle nach Datensätzen ab, deren Alter älter als 18 Jahre ist oder deren Geschlecht männlich ist:

DB::table('users')->where('age', '>', 18)->orWhere('gender', 'male')->get();
Nach dem Login kopieren

Wenn wir eine Kombination mehrerer Bedingungen benötigen, können wir Schließungen verwenden, um dies zu erreichen.

Zum Beispiel fragt der folgende Code die Benutzertabelle nach Datensätzen ab, die die Anforderungen von Alter über 18 Jahren und Geschlecht als Mann oder Alter gleich 18 Jahren und Geschlecht als Frau erfüllen:

DB::table('users')->where(function($query) {
    $query->where('age', '>', 18)
          ->where('gender', 'male');
})->orWhere(function($query) {
    $query->where('age', '=', 18)
          ->where('gender', 'female');
})->get();
Nach dem Login kopieren
  1. Fuzzy-Abfrage

Manchmal brauchen wir sich auf einen Teil eines bestimmten Gebiets stützen, um nachzufragen. Wir können die Methode like() und Platzhalter verwenden, um Fuzzy-Abfragen zu implementieren. Der folgende Code fragt die Datensätze in der Benutzertabelle ab, deren Namen mit „J“ beginnen:

DB::table('users')->where('name', 'like', 'J%')->get();
Nach dem Login kopieren
  1. Abfrage nach Maximal- und Minimalwerten

Manchmal müssen wir den Maximal- oder Minimalwert eines bestimmten Felds abfragen. Wir können dies mit den Methoden max() und min() tun. Der folgende Code fragt die Maximal- und Minimalwerte des Altersfelds in der Benutzertabelle ab:

$maxAge = DB::table('users')->max('age');
$minAge = DB::table('users')->min('age');
Nach dem Login kopieren
  1. Not equal to query

Manchmal müssen wir Datensätze abfragen, für die ein Feld nicht einem bestimmten Wert entspricht. Um dies zu erreichen, können wir die Methode where() und das Symbol <> verwenden. Der folgende Code fragt die Datensätze in der Benutzertabelle ab, deren Geschlecht nicht männlich ist:

DB::table('users')->where('gender', '<>', 'male')->get();
Nach dem Login kopieren
  1. in und nicht in der Abfrage

Manchmal müssen wir die Datensätze eines bestimmten Felds in einer bestimmten Werteliste abfragen. Wir können dies mit der Methode whereIn() und einer Werteliste tun. Der folgende Code fragt die Datensätze in der Benutzertabelle ab, deren Altersfeldwert 18, 19 oder 20 ist:

DB::table('users')->whereIn('age', [18, 19, 20])->get();
Nach dem Login kopieren

Wir können auch die Methode whereNotIn() verwenden, um Datensätze abzufragen, die nicht in der Werteliste enthalten sind.

  1. Existenz- und Nichtexistenz-Abfrage

Manchmal müssen wir die Datensätze abfragen, ob eine bestimmte Bedingung vorliegt oder nicht. Um dies zu erreichen, können wir die Methoden whereExists() und whereNotExists() verwenden. Der folgende Code fragt die Auftragstabelle nach Datensätzen ab, die dem Benutzer entsprechen:

DB::table('orders')
    ->whereExists(function ($query) {
        $query->select(DB::raw(1))
              ->from('users')
              ->whereRaw('users.id = orders.user_id');
    })
    ->get();
Nach dem Login kopieren

Wir können auch die Methode whereNotExists() verwenden, um die Datensätze abzufragen, die für den entsprechenden Benutzer nicht vorhanden sind.

An dieser Stelle haben wir die grundlegende Methode zum Erstellen komplexer Abfragebedingungen in Laravel vorgestellt. Der Abfrage-Builder von Laravel macht es für uns einfacher und intuitiver, Abfrageanweisungen zu schreiben, ohne zu viel über die Details der SQL-Syntax nachdenken zu müssen. Natürlich ist das oben Genannte nur die Spitze des Eisbergs der Abfrageanweisungen. Es gibt viele erweiterte Einsatzmöglichkeiten des Abfrage-Builders von Laravel, die darauf warten, von uns entdeckt zu werden.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie komplexe Abfragebedingungen in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie baue ich eine erholsame API mit fortgeschrittenen Funktionen in Laravel? Wie baue ich eine erholsame API mit fortgeschrittenen Funktionen in Laravel? Mar 11, 2025 pm 04:13 PM

Dieser Artikel führt dazu, dass robuste Laravel -Rastful -APIs aufgebaut werden. Es deckt Projekt -Setup, Ressourcenverwaltung, Datenbankinteraktionen, Serialisierung, Authentifizierung, Autorisierung, Testen und Best Practices für die wichtige Sicherheitssicherheit ab. Skalierbarkeit Chall

Wie implementieren Sie OAuth2 -Authentifizierung und -autorisierung in Laravel? Wie implementieren Sie OAuth2 -Authentifizierung und -autorisierung in Laravel? Mar 12, 2025 pm 05:56 PM

In diesem Artikel werden die Authentifizierung und Autorisierung von OAuth 2.0 in Laravel implementiert. Es umfasst die Verwendung von Paketen wie League/OATH2-Server oder providerspezifischer Lösungen, wobei die Datenbank-Setup, die Client-Registrierung und die Autorisierungsserverkonfigurus betont werden

Wie verwende ich die Komponenten von Laravel, um wiederverwendbare UI -Elemente zu erstellen? Wie verwende ich die Komponenten von Laravel, um wiederverwendbare UI -Elemente zu erstellen? Mar 17, 2025 pm 02:47 PM

In dem Artikel wird das Erstellen und Anpassen wiederverwendbarer UI -Elemente in Laravel mithilfe von Komponenten ermittelt, die Best Practices für die Organisation anbieten und Vorschläge für Verbesserungspakete vorschlagen.

Wie erstelle und verwende ich benutzerdefinierte Blade -Direktiven in Laravel? Wie erstelle und verwende ich benutzerdefinierte Blade -Direktiven in Laravel? Mar 17, 2025 pm 02:50 PM

In dem Artikel wird das Erstellen und Verwenden benutzerdefinierter Blade -Richtlinien in Laravel erläutert, um die Vorlagen zu verbessern. Es umfasst die Definition von Direktiven, die Verwendung in Vorlagen und die Verwaltung in großen Projekten, um Vorteile wie eine verbesserte Wiederverwendbarkeit von Code und R hervorzuheben

Was sind die besten Praktiken für die Verwendung von Laravel in einer Cloud-nativen Umgebung? Was sind die besten Praktiken für die Verwendung von Laravel in einer Cloud-nativen Umgebung? Mar 14, 2025 pm 01:44 PM

In dem Artikel werden Best Practices für die Bereitstellung von Laravel in Cloud-nativen Umgebungen erörtert und sich auf Skalierbarkeit, Zuverlässigkeit und Sicherheit konzentriert. Zu den wichtigsten Problemen gehören Containerisierung, Microservices, staatenlose Design- und Optimierungsstrategien.

Wie kann ich in Laravel benutzerdefinierte Validierungsregeln erstellen und verwenden? Wie kann ich in Laravel benutzerdefinierte Validierungsregeln erstellen und verwenden? Mar 17, 2025 pm 02:38 PM

In dem Artikel wird das Erstellen und Verwenden von benutzerdefinierten Validierungsregeln in Laravel erläutert und bietet Schritte zur Definition und Implementierung. Es zeigt Vorteile wie Wiederverwendbarkeit und Spezifität und bietet Methoden zur Erweiterung des Laravel -Validierungssystems.

Laravel vs. Symfony: Welches ist für Ihre Web -App geeignet? Laravel vs. Symfony: Welches ist für Ihre Web -App geeignet? Mar 10, 2025 pm 01:34 PM

Bei der Auswahl eines PHP -Frameworks gehören Laravel und Symfony zu den beliebtesten und am häufigsten verwendeten Optionen. Jedes Rahmen bringt seine eigene Philosophie, Merkmale und Stärken auf den Tisch, wodurch sie für verschiedene Projekte und Anwendungsfälle geeignet sind

Was sind die besten Möglichkeiten, um Dateien -Uploads und Cloud -Speicher in Laravel zu verarbeiten? Was sind die besten Möglichkeiten, um Dateien -Uploads und Cloud -Speicher in Laravel zu verarbeiten? Mar 12, 2025 pm 05:54 PM

In diesem Artikel wird in Laravel optimale Dateien -Upload- und Cloud -Speicherstrategien in Laravel untersucht. Es untersucht lokale Speicher- und Cloud -Anbieter (AWS S3, Google Cloud, Azure, Digitalocean), die Sicherheit (Validierung, Bereinigung, HTTPS) und Leistungsopti betonen

See all articles