sofa/laravel-global-scope

此包已被废弃,不再维护。未建议替代包。

轻松定义 Laravel Eloquent 全局作用域的简单方法。

v0.2 2015-07-13 23:36 UTC

This package is auto-updated.

Last update: 2020-02-07 05:19:25 UTC


README

注意 从 Laravel 5.2 开始,全局作用域的工作方式发生了巨大变化,因此不再需要使用此包,实际上使用此包是无效的。

Sofa/Laravel-Global-Scope

在 Laravel 5+ 中轻松定义 Eloquent 全局作用域

简介

Eloquent 中的全局作用域是一个很棒的功能。然而,它并不符合 Laravel 中事物易于实现的一般理念,因为在不了解 Query.Builder 的内部和外部的情况下,可能很难从查询中 移除 作用域。

尽管如此,您在这里会发现简短但强大的抽象 GlobalScope,您的范围将扩展,并且您只需实现一个方法

  1. apply - 在您的范围所需的 Eloquent.Builder 上应用任何约束。
  2. 可选地实现定义 Eloquent.Builder 宏等的辅助方法。

安装

该包需要 PHP 5.4+ 并与 Laravel 5/5.1 兼容。

  1. 在您的 composer.json 中要求此包
        "require": {
            ...
            "sofa/laravel-global-scope": "0.1@dev",
        },
    
    

使用示例

让我们比较这个 基本作用域增强作用域

路线图

  • 抽象 GlobalScope - remove 已为您完成
  • 更易于约束验证
  • 处理复杂边缘情况 - 多级嵌套子查询条件
  • 生成器