mvanduijker/laravel-model-exists-rule

验证规则,用于检查模型是否存在

3.2.0 2024-03-13 20:25 UTC

This package is auto-updated.

Last update: 2024-09-13 21:33:17 UTC


README

Latest Version on Packagist Build Status Total Downloads

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)。请参阅 许可证文件 获取更多信息。