【问题标题】:Laravel validation unique subcatetory with diferent categoryLaravel 验证具有不同类别的唯一子类别
【发布时间】:2018-06-18 19:16:46
【问题描述】:

我想用以下代码确定 laravel 中唯一的字段:

这是对表product_subcategories的验证:

protected $rules = [
    ValidatorInterface::RULE_CREATE => [
        'name'                  => 'required|unique:product_subcategories|max:255',
        'product_categories_id' => 'required'
    ],
    ValidatorInterface::RULE_UPDATE => [
        'id'                    => 'required',
        'name'                  => 'required|unique:product_subcategories|max:255',
        'product_categories_id' => 'required'
    ]
];

但我希望字段名称与product_categories_id 是唯一的,例如,如果字段名称相同但product_categories_id 彼此不同,则它不能是唯一的。我该怎么做?

【问题讨论】:

    标签: laravel validation unique


    【解决方案1】:

    您可以指定要与规则的第二个参数进行比较的列。

    protected $rules = [
        ValidatorInterface::RULE_CREATE => [
            'name'                  => 'required|unique:product_subcategories,name|max:255',
            'product_categories_id' => 'required'
        ],
        ValidatorInterface::RULE_UPDATE => [
            'id'                    => 'required',
            'name'                  => 'required|unique:product_subcategories,name|max:255',
            'product_categories_id' => 'required'
        ]
    ]
    

    此示例将检查product_subcategories 中是否有任何其他字段具有相同的name

    对于更新,您可以使用第三个参数对其进行扩展,该参数是您要忽略的名称的值。 (因此您可以在不更改名称的情况下保存子类别。)

    【讨论】:

      猜你喜欢
      • 2015-10-09
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多