Laravel 规则忽略并且 deleted_at 无效

Laravel Rule ignore and deleted_at null

我的更新函数中有一个验证规则

规则当前从已删除的行中选择唯一的。

我已软删除行。

验证规则应忽略软删除并检查唯一性,同时忽略更新同一行

return [
           'attribute_type_id' => 'required',
           'name' => [
                'required',
                Rule::unique('attributes')->ignore($ignore),
            ],
           'order' => 'integer|nullable'
       ];

这是我的更新规则

我在创建函数中添加了deleted_at规则

return [
           'attribute_type_id' => 'required',
           'name' => 'bail|required|unique:attributes,deleted_at,NULL',
           'order' => 'integer|nullable'
       ];

但无法在更新功能中执行。

谁能帮忙。

您可以在规则中添加条件,

use Illuminate\Validation\Rule;
...

'name' => Rule::unique('attributes')->where(function ($query) {
    return $query->whereNull('deleted_at');
})