„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Globaler Geltungsbereich in Laravel (StepWise).

Globaler Geltungsbereich in Laravel (StepWise).

Veröffentlicht am 08.11.2024
Durchsuche:485

Global Scope in Laravel (StepWise).

Globale Bereiche sind ein wichtiges Konzept in Laravel und ermöglichen die Wiederverwendung von Eloquent-Bedingungen in Ihrer gesamten Anwendung. Durch die Implementierung von Global Scopes können Sie spezifische Bedingungen auf Abfragen in allen Modellen anwenden und so die Wiederverwendung und Konsistenz von Code fördern. Im Gegensatz dazu sind Local Scopes auf ein einzelnes Modell beschränkt. In diesem Tutorial konzentrieren wir uns auf die Erstellung und Nutzung von Global Scopes in Laravel.

  1. In diesem Schritt erstellen wir eine globale Klasse innerhalb von a app/Scopes/ActiveScope
where('is_active', '=', '1');

        //or we can write
        $builder->whereIsActive('1');

    }
}
  1. Definieren Sie nun ActiveScope im Benutzermodell. Wir sollten die Boot-Methode eines bestimmten Modells überschreiben und die addGlobalScope-Methode verwenden:

Nachdem das ActiveScope im Modell hinzugefügt wurde, generiert User::all() das folgende SQL.

select * from `users` where `is_active` = '1'

Es kann Szenarien geben, in denen Sie alle Daten abrufen möchten, ohne den globalen Bereich anzuwenden. In Laravel können Sie einen globalen Bereich umgehen und alle Daten abrufen, indem Sie die Methode withoutGlobalScope verwenden.

User::withoutGlobalScope(ActiveScope::class)->get();

Wenn Sie mehrere oder alle auf ein Modell angewendeten globalen Bereiche entfernen möchten, können Sie die Methode withoutGlobalScopes in Laravel verwenden. Mit dieser Methode können Sie alle globalen Bereiche umgehen oder diejenigen angeben, die Sie entfernen möchten. Hier ist ein Beispiel:

// Remove all of the global scopes...
User::withoutGlobalScopes()->get();
// Remove some of the global scopes...
User::withoutGlobalScopes([
    ActiveScope::class, AgeScope::class
])->get();

Und wenn Ihnen der Inhalt gefällt und Sie weitere tolle Artikel unterstützen möchten, denken Sie darüber nach, mir einen Kaffee zu spendieren! ☕️? Ihre Unterstützung bedeutet mir sehr viel und hilft, den Wissensfluss aufrechtzuerhalten. Das können Sie hier tun: ? Kauf mir einen Kaffee

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/aj_c6413caf1a793de3a2163b/global-scope-in-laravel-stepwise-1ij8?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3