在Laravel Request上验证数组键

时间:2020-09-02 14:33:55

标签: php laravel

我有一个Laravel请求,在这里我需要验证数组中的键。 关键是productId,我正在检查产品是否属于用户。

以下是POST请求中的产品示例:

[
    8 => [
        'quantity' => 10,
        'discount' => 10
    ],
    9 => [
        'quantity' => 10,
        'discount' => 10
    ]
]

下面是请求规则。可以检查按键吗?

public function rules()
    {
        return [
            'product.*' => 'required|exists:recipes,id,user_id,' . $this->user()->id,
            'product.*.quantity' => 'required|numeric|min:0',
            'product.*.discount' => 'required|numeric|min:0'
        ];
    }

1 个答案:

答案 0 :(得分:0)

我做了一个临时解决方案...我应要求保留了id验证。

AutoFilterSetTest.xlsx

但是在控制器上,数据被修改为适合sync()方法,在该方法中,将id从要修改的对象中删除并设置为键。

 'products.*.id' => 'required|exists:recipes,id,user_id,' . $this->user()->id,
 'products.*.quantity' => 'required|numeric|min:0',
 'products.*.discount' => 'required|numeric|min:0',

我没有提到这是一个多态的多态关系。