luilliarcec / laravel-utilities
Laravel Utilities 是一个包含项目常用工具的包。
3.1.0
2023-09-24 01:31 UTC
Requires
- php: >=8.0
- laravel/framework: *
- spatie/laravel-package-tools: ^1.12
Requires (Dev)
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5.10
This package is auto-updated.
Last update: 2024-09-24 03:54:30 UTC
README
安装
您可以通过 composer 安装此包
composer require luilliarcec/laravel-utilities
现在通过运行以下命令将配置文件发布到您的应用程序配置目录中
php artisan vendor:publish --provider="Luilliarcec\Utilities\UtilitiesServiceProvider"
目录
设置属性为大写
本节用于当您想将所有或部分属性设置为大写。
用法
// ... use Luilliarcec\Utilities\Concerns\SetAttributesUppercase; class User extends Authenticable { use SetAttributesUppercase; }
如果您想忽略模型的一些属性,可以在 dontApplyCase
属性中设置,如下所示。
// ... use Luilliarcec\Utilities\Concerns\SetAttributesUppercase; class User extends Authenticable { use SetAttributesUppercase; protected $dontApplyCase = [ 'username' ]; }
如果您想全局忽略属性,可以将它们添加到 utilities
配置文件中的 attributes_ignored_globally
键下。
属于认证
本节在您的数据库模型中有与认证用户相关的表时很有用。默认情况下,名称 'user_id' 被用作关系的外键,但您可以从 utilities
配置文件中的 auth_foreign_id_column
键进行更改。
您可以使用 BelongsTo Auth
特性。
- 此特性将为
creating
事件添加监听器,在创建模型时将认证用户与相关模型关联起来。 - 此外,还添加了一个全局作用域,用于检索与认证用户关联的所有记录。您可以在构建查询时通过调用
withoutAuth
函数来禁用此作用域。 - 此外,还提供了针对
exists
和unique
规则的自定义规则,为认证用户添加where
条件。它还可以连接更多条件和基础规则exists
和unique
的其他功能。
使用特性
// ... use Luilliarcec\Utilities\Concerns\BelongsToAuthenticated; class Invoice extends Model { use BelongsToAuthenticated; }
使用 withoutAuth 函数
Invoice::withoutAuthenticated() // ->where(...) ->get();
使用规则
use Luilliarcec\Utilities\Rules\Authenticated; Request::validate([ 'invoice_id' => Authenticated::make('invoices', 'id')->exists() // ->where(...) ]);
小数规则
如果您想检查小数数字及其小数位数,可以使用此规则如下。
use Luilliarcec\Utilities\Rules\Decimals; Request::validate([ 'amount' => new Decimals // by default they are 8 integers and 2 decimals ]); Request::validate([ 'amount' => new Decimals(20, 4) // 20 integers and 4 decimals ]);
测试
composer test
版本
请参阅版本获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件luilliarcec@gmail.com联系,而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。请参阅许可文件以获取更多信息。