"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Escopo Global no Laravel (StepWise).

Escopo Global no Laravel (StepWise).

Publicado em 2024-11-08
Navegar:257

Global Scope in Laravel (StepWise).

Global Scopes são um conceito vital no Laravel, permitindo a reutilização de condições do Eloquent em toda a sua aplicação. Ao implementar escopos globais, você pode aplicar condições específicas a consultas em todos os modelos, promovendo a reutilização e a consistência do código. Por outro lado, os escopos locais são limitados a um único modelo. Neste tutorial, vamos nos concentrar na criação e utilização de escopos globais no Laravel.

  1. Nesta etapa, criaremos uma Classe Global dentro de um app/Escopos/ActiveScope
where('is_active', '=', '1');

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

    }
}
  1. Agora defina ActiveScope no modelo de usuário. Devemos substituir o método de inicialização de um determinado modelo e usar o método addGlobalScope:




Após adicionar o ActiveScope no modelo, User::all() irá gerar o seguinte SQL.

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

Pode haver cenários em que você queira buscar todos os dados sem aplicar o escopo global. No Laravel, você pode ignorar um escopo global e buscar todos os dados usando o método withoutGlobalScope.

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

Se você deseja remover vários ou todos os escopos globais aplicados a um modelo, você pode usar o método withoutGlobalScopes no Laravel. Este método permite ignorar todos os escopos globais ou especificar aqueles que você deseja remover. Aqui está um exemplo:

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

E se você adora o conteúdo e deseja apoiar mais artigos incríveis, considere comprar um café para mim! ☕️? Seu apoio significa muito para mim e ajuda a manter o fluxo de conhecimento. Você pode fazer isso aqui: ? Compre um café para mim

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/aj_c6413caf1a793de3a2163b/global-scope-in-laravel-stepwise-1ij8?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3