Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在laravel中应用规则来检查文件名是否唯一?_Laravel - Fatal编程技术网

如何在laravel中应用规则来检查文件名是否唯一?

如何在laravel中应用规则来检查文件名是否唯一?,laravel,Laravel,在laravel 8中,如何使用验证来检查数组中提供的文件名是否唯一 ` "main": [ { "content": "ABC", "filename": "recording_1", "code": "264", "parameter

在laravel 8中,如何使用验证来检查数组中提供的文件名是否唯一

` "main": [
        {
            "content": "ABC",
            "filename": "recording_1",
            "code": "264",
            "parameters": ""
        },
        {
            "content": "XYZ",
            "filename": "recording_2",
            "code": "264",
            "parameters": ""
        } 

        ...more to come
]`
上面是请求结构。根据该请求,我必须检查所有文件名是否唯一
如何实现这一点?

您可以使用
distinct

$validator = Validator::make(
        [
            'main' =>
                [
                    [
                        "content" => "ABC",
                        "filename" => "recording_1",
                        "code" => "264",
                        "parameters" => ""
                    ],
                    [
                        "content" => "XYZ",
                        "filename" => "recording_1",
                        "code" => "264",
                        "parameters" => ""
                    ]


                ]
        ],
        ['main.*.filename' => 'distinct']
    );
那你可以查一下

if($validator->fails()){
        echo  "<pre>";
        print_r($validator->errors());
        exit();
    }

Ref:

在请求中是唯一的还是在数据库中是唯一的?在请求中是唯一的。仅供参考,您可以使用,而不是
print\r()
东西。是的,我知道,但是如果我使用dd或dump,在statkc中格式化有点困难。为此,我使用了print\r
Illuminate\Support\MessageBag Object
(
    [messages:protected] => Array
        (
            [main.0.filename] => Array
                (
                    [0] => The main.0.filename field has a duplicate value.
                )

            [main.1.filename] => Array
                (
                    [0] => The main.1.filename field has a duplicate value.
                )

        )

    [format:protected] => :message
)