」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Laravel 中的全域範圍(StepWise)。

Laravel 中的全域範圍(StepWise)。

發佈於2024-11-08
瀏覽:774

Global Scope in Laravel (StepWise).

全域範圍是 Laravel 中的重要概念,可以在整個應用程式中重複使用 Eloquent 條件。透過實作全域範圍,您可以將特定條件套用到所有模型的查詢,從而促進程式碼重複使用和一致性。相比之下,局部範圍僅限於單一模型。在本教程中,我們將重點介紹在 Laravel 中建立和使用全域範圍。

  1. 在這一步驟中,我們將在 應用程式/範圍/ActiveScope
where('is_active', '=', '1');

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

    }
}
  1. 現在在使用者模型中定義 ActiveScope。我們應該重寫給定模型的 boot 方法並使用 addGlobalScope 方法:

在模型中加入ActiveScope後,User::all()將產生以下SQL。

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

在某些情況下,您可能希望在不套用全域範圍的情況下取得所有資料。在 Laravel 中,您可以使用 withoutGlobalScope 方法繞過全域範圍並取得所有資料。

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

如果要刪除應用於模型的多個或全部全域作用域,可以使用 Laravel 中的 withoutGlobalScopes 方法。此方法可讓您繞過所有全域範圍或指定要刪除的範圍。這是一個例子:

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

如果您喜歡這些內容並希望支持更多精彩文章,請考慮為我買杯咖啡! ☕️?您的支持對我來說意味著整個世界,並有助於保持知識的流動。您可以在這裡執行此操作:?請我喝杯咖啡

版本聲明 本文轉載於:https://dev.to/aj_c6413caf1a793de3a2163b/global-scope-in​​-laravel-stepwise-1ij8?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 適用於 AWS 雲端的簡單 SaaS 的技術堆疊
    適用於 AWS 雲端的簡單 SaaS 的技術堆疊
    介绍 注1:这里是托管的交互式演示:demo.saasconstruct.com 注 2:我每个 SaaS 设置的每月账单为 3-5 美元,其中大部分是 CI/CD 成本。 注3:模板在这里:saasconstruct.com。 我在 AWS 上完成了多个 AI PoC 和 MVP...
    程式設計 發佈於2024-11-08
  • 為什麼在事件處理程序中使用箭頭函數時「this」會出現意外行為?
    為什麼在事件處理程序中使用箭頭函數時「this」會出現意外行為?
    JavaScript - 箭頭函數與事件處理程序當使用箭頭函數作為事件處理程序的回調時,函數中的 this 值是意外的。這篇部落格文章解釋了此行為背後的原因,並提供了使用event.currentTarget.箭頭函數和詞法作用域存取預期元素的解決方案與常規函數不同,箭頭函數沒有其自己的上下文或範圍...
    程式設計 發佈於2024-11-08
  • Aurora PostgreSQL 掌握:讓您的團隊喜極而泣的防彈 Java 模型和 DAO
    Aurora PostgreSQL 掌握:讓您的團隊喜極而泣的防彈 Java 模型和 DAO
    听着,代码骑师。我即将提供一些知识,帮助您将 Aurora PostgreSQL 游戏从业余游戏转变为大联盟游戏。我们谈论的是 Java 模型和数据库访问器,它们会让您的高级开发人员喜极而泣,而您的 DBA 是否会给您买啤酒(取决于您的年龄)。 为什么这很重要: 性能:草率的模型和 ...
    程式設計 發佈於2024-11-08
  • 瞭解後端開發中的責任鏈設計模式
    瞭解後端開發中的責任鏈設計模式
    责任链 (CoR) 设计模式是一种强大的行为模式,可以显着增强后端开发。此模式允许您通过处理程序链传递请求,其中每个处理程序可以处理请求或将其传递到下一个处理程序。在本博客中,我们将从后端角度探讨 CoR 模式,特别关注其在 Web 服务中的请求验证和处理中的应用,并使用 Java 作为示例。 ...
    程式設計 發佈於2024-11-08
  • 深入研究&#專案:大學資訊查詢系統&# - 掌握 Java 和 MySQL 進行高效資料管理
    深入研究&#專案:大學資訊查詢系統&# - 掌握 Java 和 MySQL 進行高效資料管理
    透過「專案:大學資訊查詢系統」釋放資料管理的力量 - 這是一門綜合課程,引導您完成使用 Java 和 MySQL 建立強大的資訊查詢系統的過程。這種基於專案的學習體驗旨在讓您掌握將 Java 應用程式連接到 MySQL 資料庫、執行 SQL 查詢和有效檢索資料所需的基本技能。 課程...
    程式設計 發佈於2024-11-08
  • 使用 PHP 和 JavaScript 將網頁下載為 PDF
    使用 PHP 和 JavaScript 將網頁下載為 PDF
    在 PHP 中將 HTML 轉換為 PDF 很容易。讓我們更進一步,使用 PHP 和 JavaScript 將網頁轉換為 PDF 檔案。 為此,您需要安裝 Composer 和 Node。 安裝這些東西後,您需要使用 Composer 安裝 Dompdf,並使用 npm(Node 套件管理器)...
    程式設計 發佈於2024-11-08
  • 4 年內建構 AI 代理的頂級框架
    4 年內建構 AI 代理的頂級框架
    Hola,我是 Nomadev!如果您像我一样,您可能已经注意到人工智能代理正在席卷世界。说真的,人工智能代理不仅仅是炒作,它们已经在为智能系统提供动力、自动化任务并代表企业做出决策。我一直在深入研究这个领域,相信我,未来是由代理驱动的。 现在,如果您想成为这场革命的一部分并构建自己的人工智能代理...
    程式設計 發佈於2024-11-08
  • 每個開發人員都應該了解的基本 Express 請求屬性
    每個開發人員都應該了解的基本 Express 請求屬性
    在專案後端工作時,處理請求和回應至關重要。有效管理這些請求對於客戶端和伺服器之間的順利通訊至關重要。以下是每個開發人員都應該熟悉的一些常見且重要的請求屬性。 1. 請求ip Express.js 中的 req.ip 是請求物件的屬性,它提供發出請求的客戶端的 IP 位址。它傳回一個...
    程式設計 發佈於2024-11-08
  • 如何解決 Doctrine 左連接期間的「Expected Doctrine\\ORM\\Query\\Lexer::T_WITH, got 'ON'\」錯誤?
    如何解決 Doctrine 左連接期間的「Expected Doctrine\\ORM\\Query\\Lexer::T_WITH, got 'ON'\」錯誤?
    如何在Doctrine 中執行左連接當使用複雜的資料模型時,有必要透過建立多個表之間的關係來從多個表中檢索資料。左連接允許您從一個表中獲取所有行,並且僅從另一個表中獲取匹配的行。 遇到的問題在Doctrine 中嘗試左連接時可能出現的常見錯誤正在接收以下語法錯誤:[Syntax Error] lin...
    程式設計 發佈於2024-11-08
  • 使用 Java/ColdFusion/CFML 比較語言檢測程式庫(和 API)
    使用 Java/ColdFusion/CFML 比較語言檢測程式庫(和 API)
    语言检测是我们在过去的项目中需要的一个功能。 我在 2020 年写了一篇关于 Optimaize Language Detector java 库的 kju2 fork 的使用的文章。自 2015 年以来,Optimaize 库就没有更新过,kju2 分支于 2023 年 4 月 16 日被置于只...
    程式設計 發佈於2024-11-08
  • 如何在 CSS 中在背景上建立曲線?
    如何在 CSS 中在背景上建立曲線?
    在背景上創建曲線在網頁開發領域,設計師經常會遇到出於美學目的創建曲線的需要。其中一個場景是將剪切曲線放置在背景頂部,而不是右側。 要實現這一點,需要修改現有的 CSS 程式碼來調整曲線的位置和形狀。操作方法如下:調整偽元素位置:調整偽元素位置:更改偽元素的位置(.box:之前和.box: after...
    程式設計 發佈於2024-11-08
  • 捕捉 Django 應用程式中的錯誤的最佳方法
    捕捉 Django 應用程式中的錯誤的最佳方法
    在 Web 開發的世界中,錯誤是整個過程中不可避免的一部分。但對於 Django(最受歡迎的 Python Web 框架之一)來說,擁有可靠的錯誤捕獲策略可以在流暢的用戶體驗和令人沮喪的用戶體驗之間產生巨大的差異。 作為開發人員,我們經常發現自己不斷地與難以捉摸的錯誤和意外行為作鬥爭。無論您是建立...
    程式設計 發佈於2024-11-08
  • 如何將 GORM 欄位註解整合到 Protobuf 定義中?
    如何將 GORM 欄位註解整合到 Protobuf 定義中?
    將欄位註解整合到Protobuf 定義中尋求在其protobuf 定義中使用GORM 提供的欄位註解的開發人員可能會因註解缺少欄位註解而遇到挑戰Protobuf 3 語法中的本機日期時間類型。 為了解決這個問題,可以使用後處理腳本來使用所需的 GORM 註解來增強產生的原型文件。例如,給定以下 pr...
    程式設計 發佈於2024-11-08
  • 開發人員如何建立即時 Web 應用程式?
    開發人員如何建立即時 Web 應用程式?
    在不断发展的技术世界中,实时 Web 应用程序已成为寻求增强用户参与度和简化沟通的企业的强大解决方案。这些应用程序提供即时更新和交互,使其在消息传递、游戏和电子商务等领域至关重要。对于开发人员,特别是那些在澳大利亚开发人员来说,了解构建实时应用程序的细微差别至关重要。本文将探讨创建实时 Web 应用...
    程式設計 發佈於2024-11-08
  • 使用 SAM 框架建置 Go Serverless REST API 並部署到 AWS (Amazon Linux untime)
    使用 SAM 框架建置 Go Serverless REST API 並部署到 AWS (Amazon Linux untime)
    为什么还要另一个 Go 教程 AWS 最近已弃用多项服务和运行时。正如我们所看到的,随着我们喜爱的 CodeCommit 和其他关键服务的终止,AWS Lambda 函数不再支持 Go1.x。 如果您尝试部署大部分过时的教程,您可能会遇到如下错误: Resource creatio...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3