recherche
Maisoncadre phpLaravelComment utiliser la portée dans Laravel

Dans Laravel, scope est utilisé pour traiter les données dans le modèle. Dans le modèle, vous pouvez définir des méthodes commençant par scope. Ces méthodes peuvent être appelées directement via le modèle et sont appelées scopes de requête. avec la première lettre en majuscules ($query){...}".

Comment utiliser la portée dans Laravel

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 8, ordinateur Dell G3.

Comment utiliser scope dans laravel

Scope dans laravel

Dans laravel, les données (ajouter, supprimer, modifier, vérifier) ​​qui sont traitées dans le modèle (appartiennent au modèle mais n'y appartiennent pas), sont introduites to scope to handle

C'est-à-dire que dans la méthode de définition du modèle, ajoutez la portée du préfixe.

En bref, le modèle dans Laravel peut définir des méthodes au début de la portée, et ces méthodes peuvent être appelées directement via le modèle. Ce type d’approche est également appelé portée de requête.

Les requêtes conditionnelles sont souvent utilisées dans les requêtes de données. Certaines de ces conditions de requête sont les mêmes. Scope peut réaliser la réutilisation de ces mêmes requêtes conditionnelles.

Portée normale

Définition

Le nom de la méthode est scope + la première lettre est en majuscule (cela peut être défini à volonté)

public function scopeStatus($query)
{
    return $query->where('status',1);
}

Utilisation

qui appelle la fonction avec la première lettre minuscule après avoir supprimé la portée.

scopeStatus() appelle status().

User::status()->get();

Portée globale

Nous devons redéfinir la méthode de démarrage Après avoir intégré le démarrage de la classe parent, ajoutez la portée globale, afin qu'elle soit utilisée globalement par défaut.

protected static function boot()
{
    parent::boot(); // TODO: Change the autogenerated stub
    static::addGlobalScope('avaiable',function (Builder $builder){
        $builder->whereIn('status', [0, 1]);
    });
}

Parfois, lorsque nous avons des requêtes qui n'ont pas besoin de cette portée globale, il suffit de la supprimer.

Utilisez la méthode withOutGlobalScope()

Post::withOutGlobalScope('avaiable')->get();

[Recommandations associées : tutoriel vidéo laravel]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Utilisation de Laravel: rationalisation du développement Web avec PHPUtilisation de Laravel: rationalisation du développement Web avec PHPApr 19, 2025 am 12:18 AM

Laravel optimise le processus de développement Web, y compris: 1. Utilisez le système de routage pour gérer la structure URL; 2. Utilisez le moteur de modèle de lame pour simplifier le développement de la vue; 3. Gérer les tâches longues à travers les files d'attente; 4. Utiliser Eloquentorm pour simplifier les opérations de base de données; 5. Suivez les meilleures pratiques pour améliorer la qualité et la maintenabilité du code.

Laravel: une introduction au Framework Web PHPLaravel: une introduction au Framework Web PHPApr 19, 2025 am 12:15 AM

Laravel est un cadre PHP moderne qui fournit un ensemble d'outils puissant, simplifie les processus de développement et améliore la maintenabilité et l'évolutivité du code. 1) Eloquentorm simplifie les opérations de base de données; 2) Le moteur de modèle de lame rend le développement frontal intuitif; 3) Les outils de ligne de commande artisanaux améliorent l'efficacité du développement; 4) L'optimisation des performances comprend l'utilisation d'un empressement, un mécanisme de mise en cache, des cas d'architecture MVC, du traitement des files d'attente et des cas d'écriture.

Laravel: architecture MVC et meilleures pratiquesLaravel: architecture MVC et meilleures pratiquesApr 19, 2025 am 12:13 AM

L'architecture MVC de Laravel améliore la structure et la maintenabilité du code à travers des modèles, des vues et des contrôleurs pour la séparation de la logique des données, de la présentation et du traitement commercial. 1) Le modèle traite les données, 2) La vue est responsable de l'affichage, 3) le contrôleur traite la saisie des utilisateurs et la logique métier. Cette architecture permet aux développeurs de se concentrer sur la logique métier et d'éviter de tomber dans le bourbier du code.

Laravel: caractéristiques et avantages clés expliquésLaravel: caractéristiques et avantages clés expliquésApr 19, 2025 am 12:12 AM

Laravel est un cadre PHP basé sur l'architecture MVC, avec une syntaxe concise, des outils de ligne de commande puissants, un fonctionnement pratique et un moteur de modèle flexible. 1. Syntaxe élégante et API faciles à utiliser rendent le développement rapide et facile à utiliser. 2. L'outil de ligne de commande Artisan simplifie la génération de code et la gestion des bases de données. 3.Lesormorms rend le fonctionnement des données intuitif et simple. 4. Le moteur du modèle de lame prend en charge la logique de vue avancée.

Bodin Backend avec Laravel: un guideBodin Backend avec Laravel: un guideApr 19, 2025 am 12:02 AM

Laravel convient à la construction de services backend, car il fournit une syntaxe élégante, de riches fonctionnalités et un fort soutien communautaire. 1) Laravel est basé sur l'architecture MVC, simplifiant le processus de développement. 2) Il contient Eloquentorm, optimise les opérations de base de données. 3) L'écosystème de Laravel fournit des outils tels que les systèmes d'artisan, de lame et de routage pour améliorer l'efficacité du développement.

Partage des compétences de cadre LaravelPartage des compétences de cadre LaravelApr 18, 2025 pm 01:12 PM

À cette époque de progrès technologique continu, la maîtrise des cadres avancés est crucial pour les programmeurs modernes. Cet article vous aidera à améliorer vos compétences en développement en partageant des techniques peu connues dans le cadre de Laravel. Connu pour sa syntaxe élégante et une large gamme de fonctionnalités, cet article va creuser ses fonctionnalités puissantes et fournir des conseils et des astuces pratiques pour vous aider à créer des applications Web efficaces et maintenables.

La différence entre Laravel et ThinkPhpLa différence entre Laravel et ThinkPhpApr 18, 2025 pm 01:09 PM

Laravel et ThinkPHP sont tous deux des cadres PHP populaires et ont leurs propres avantages et inconvénients dans le développement. Cet article comparera les deux en profondeur, mettant en évidence leur architecture, leurs fonctionnalités et leurs différences de performances pour aider les développeurs à faire des choix éclairés en fonction de leurs besoins spécifiques de projet.

Liste des fonctions de connexion de l'utilisateur LaravelListe des fonctions de connexion de l'utilisateur LaravelApr 18, 2025 pm 01:06 PM

La création de capacités de connexion des utilisateurs à Laravel est une tâche cruciale et cet article fournira un aperçu complet couvrant toutes les étapes critiques de l'enregistrement des utilisateurs à la vérification de la connexion. Nous plongerons dans la puissance des capacités de vérification intégrées de Laravel et vous guiderons à travers la personnalisation et l'extension du processus de connexion en fonction des besoins spécifiques. En suivant ces instructions étape par étape, vous pouvez créer un système de connexion sécurisé et fiable qui offre une expérience d'accès transparente pour les utilisateurs de votre application Laravel.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)