mvanduijker / laravel-model-exists-rule
验证规则,用于检查模型是否存在
3.2.0
2024-03-13 20:25 UTC
Requires
- php: ^7.3|^8.0
- illuminate/database: ~6.0|~7.0|~8.0|~9.0|~10.0|~11.0
Requires (Dev)
- larapack/dd: ^1.0
- orchestra/testbench: ~4.0|~5.0|~6.0|~7.0|~8.0|~9.0
- phpunit/phpunit: ^9.3|^10.0
This package is auto-updated.
Last update: 2024-09-13 21:33:17 UTC
README
Laravel 验证规则,用于检查模型是否存在。
如果你认为标准的 laravel Rule::exists('table', 'column')
功能不够强大,希望添加连接到存在规则或使用高级 Eloquent.Builder 功能(如 whereHas),这个规则可能适合你。
安装
你可以通过 composer 安装此包
composer require mvanduijker/laravel-model-exists-rule
用法
简单
<?php use Duijker\LaravelModelExistsRule\ModelExists; use Illuminate\Foundation\Http\FormRequest; class ExampleUserRequest extends FormRequest { public function rules() { return [ 'user_id' => [ 'required', new ModelExists(\App\Models\User::class, 'id'), ], ]; } }
高级
<?php use Illuminate\Database\Eloquent\Builder; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class ExampleUserRequest extends FormRequest { public function rules() { return [ 'user_id' => [ 'required', Rule::modelExists(\App\Models\User::class, 'id', function (Builder $query) { $query->whereHas('role', function (Builder $query) { $query->whereIn('name', ['super-admin', 'admin']); }); }), ], ]; } }
测试
composer test
变更日志
请参阅 变更日志 以获取最近更改的更多信息。
贡献
请参阅 贡献指南 获取详细信息。
致谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。