Der Abfragebereich in Laravel ist eine sehr wichtige Funktion, die es Ihnen ermöglicht, einige häufig verwendete Abfragemethoden im Modell zur Wiederverwendung in der gesamten Anwendung zu definieren. Diese Abfragebereiche können global (für das gesamte Modell gelten) oder lokal (nur für eine Methode des Modells gelten) sein.
In diesem Artikel stellen wir die Definition, Verwendung und einige Dinge vor, die beim Abfragebereich in Laravel beachtet werden sollten.
- Definition des Abfragebereichs
Der Abfragebereich ist eine anonyme Funktion, die einen $query-Parameter empfängt, der eine Instanz des Eloquent Query Builder ist. In dieser anonymen Funktion können Sie einige Abfragevorgänge für die Instanz ausführen, z. B. das Hinzufügen von Where-Klauseln, Order-By-Klauseln usw.
Das Folgende ist ein einfaches Beispiel für die Definition eines Abfragebereichs:
public function scopePublished($query) { return $query->where('status', '=', 'published'); }
Im obigen Beispiel definieren wir einen Abfragebereich mit dem Namen „publicated“, der in der Abfrage verwendet wird. Fügen Sie automatisch a hinzu where-Klausel zum Filtern veröffentlichter Modelle.
- Abfragebereich verwenden
Abfragebereich zu verwenden ist sehr einfach, rufen Sie einfach die entsprechende Methode des Modells auf. Wenn wir beispielsweise im obigen Beispiel den veröffentlichten Abfragebereich verwenden, müssen wir nur den folgenden Code aufrufen:
$posts = Post::published()->get();
Der obige Code gibt eine Sammlung aller veröffentlichten Post-Instanzen zurück.
Wenn Sie Parameter an den Abfragebereich übergeben müssen, fügen Sie einfach Parameter in dieser Methode hinzu. Beispiel:
public function scopeCategory($query, $categoryId) { return $query->where('category_id', '=', $categoryId); }
Dieser Abfragebereich kann zum Filtern von Blogbeiträgen nach einer bestimmten Kategorie verwendet werden.
$posts = Post::category(1)->get();
Der obige Code gibt alle Blogbeiträge mit der Kategorie-ID 1 zurück.
Hinweis: Abfragebereiche können verkettet werden, sodass Sie mehrere Abfragebereiche gleichzeitig verwenden können, um präzisere Ergebnisse zu erhalten.
- Globale Definition des Abfragebereichs
Wenn Sie im gesamten Modell denselben Abfragebereich verwenden möchten, können Sie eine globale Abfragebereichsdomäne definieren . Rufen Sie dazu einfach die Boot-Methode in Ihrem Modell auf und definieren Sie einen globalen Abfragebereich mithilfe der Methode static::addGlobalScope.
Das Folgende ist ein einfaches Beispiel für einen globalen Abfragebereich:
protected static function boot() { parent::boot(); static::addGlobalScope('active', function (Builder $builder) { $builder->where('active', '=', 1); }); }
Im obigen Beispiel definieren wir einen globalen Abfragebereich mit dem Namen „aktiv“ und beschränken ihn auf Datensätze, deren aktives Feld gleich ist 1.
Wenn Sie nun das Modell mit einer beliebigen Methode abfragen, wird der Abfragebereich automatisch wirksam.
- Abfragebereich entfernen
Manchmal müssen wir möglicherweise den Abfragebereich eines bestimmten Modells entfernen. Laravel stellt die Methode „removeGlobalScope“ bereit, um uns dabei zu helfen.
Angenommen, wir haben einen globalen Abfragebereich mit dem Namen „aktiv“, können wir ihn mit der folgenden Methode entfernen:
$users = User::withoutGlobalScope('active')->get();
Der obige Code hat keine Auswirkung auf die aktive Domäne Einschränkungen für alle Benutzer.
Hinweis: Wenn Sie alle globalen Abfragebereiche entfernen möchten, können Sie die Methode withoutGlobalScopes verwenden.
$users = User::withoutGlobalScopes()->get();
Der obige Code gibt alle Benutzer zurück, die nicht durch einen globalen Abfragebereich eingeschränkt sind.
Zusammenfassung
Der Abfragebereich ist eine äußerst leistungsstarke Funktion in Laravel. Durch die Verwendung von Abfragebereichen können Sie allgemeine Abfragevorgänge problemlos in Ihrer gesamten Anwendung wiederverwenden und Ihren Code übersichtlicher organisieren. Das Erlernen der richtigen Verwendung von Abfragebereichen kann nicht nur Ihre Produktivität steigern, sondern Ihnen auch dabei helfen, robustere Anwendungen zu erstellen.
Das obige ist der detaillierte Inhalt vonLaravel-Abfragebereich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Tocombatisolationandloninessinremotework, CompaniessHouldImplementRegular, bedeutungsvolle Interaktionen, Bereitstellung von AusreichungstrowThopportunities, andusetechnology effective.) fostergenuineConnections ThroughvirtualCoffeebreaksandPersonalSharing.2) EnterurineConctions

Laravelispopularforfull-stackdevelopment

Zu den wichtigsten Faktoren für die Auswahl einer Videokonferenzplattform gehören die Benutzeroberfläche, die Sicherheit und die Funktionalität. 1) Die Benutzeroberfläche sollte intuitiv sein, z. B. Zoom. 2) Die Sicherheit muss beachtet werden, und Microsoft Teams bietet eine End-to-End-Verschlüsselung. 3) Funktionen müssen die Anforderungen entsprechen, Googlemeet eignet sich für kurze Besprechungen, und Ciscowebe bietet erweiterte Kollaborations -Tools.

Die neueste Version von Laravel10 ist mit MySQL 5.7 und oben kompatibel, PostgreSQL 9.6 und höher, SQLite 3.8.8 und höher, SQLServer 2017 und höher. Diese Versionen werden ausgewählt, da sie die ORM -Funktionen von Laravel unterstützen, wie den JSON -Datentyp von MySQL5.7, der die Abfrage- und Speicher -Effizienz verbessert.

Laravelisanexzellentchoiceforfull-stackdevelopmentDuetoitsrobustFeaturesandeaseofuse.1) dotipliFies compextenswithitsmodernphpstaxandtoolslikeBladeForFront-EndandeloquentOmforback-End.2) Laravel-Ersecosystem, inkl

Laravel10, freigegebenes Februar 7.2023, iSthelatestversion.itFeatures: 1) AchtungserhandlingWithanewReportMethodinTheexceptionHandler, 2) EnhancedSupportForPhp8.1Features-ähnliche und 3) AneWlaravel \ EingabeaufforderungspackageforinteractiveCommandivePrompts.

ThelatestlaravelversionenHancesDevelopmentWith: 1) SimplifiedRoutingusedimplicitModelBinding, 2) EnhancedeloquentCapabilities WitheNewQueryMethods und 3) verbessert den SupportformodernphpfFeaturesLikeNaDarguments, machten die Kodierung von Kodeln moreffizemadern.

Die Versionshinweise finden Sie für die neueste Laravel -Version unter laravel.com/docs. 1) Versionshinweise bieten detaillierte Informationen zu neuen Funktionen, Fehlerbehebungen und Verbesserungen. 2) Sie enthalten Beispiele und Erklärungen, um die Anwendung neuer Funktionen zu verstehen. 3) Achten Sie auf die potenziellen Komplexitäts- und Rückwärtskompatibilitätsprobleme neuer Merkmale. 4) Eine regelmäßige Überprüfung der Versionshinweise kann es auf dem Laufenden halten und Innovationen inspirieren.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.
