我想使用以下代码确定 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
彼此不同,则它不可能是唯一的。我怎么能这样做?
答案 0 :(得分:0)
您可以指定要与规则的第二个参数进行比较的列。
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
的任何其他字段。
对于更新,您可以使用第三个参数扩展它,该参数是您要忽略的名称的值。 (因此,您可以保存SubCategory而不更改其名称。)