我有一个包含组织产品的表。该系统将以多租户方式包含多个组织。
我的products
表格包含以下列:
id organisation_id product_id other_columns
我已经为products
创建了一个请求,我现在想要验证来自create product
表单的输入。要求product_id
对此organisation_id
我的rules()
中的request
方法是
public function rules()
{
return [
'part_number' => 'required|max:20|unique:products,part_number,'.$request->organisation_id.',organisation_id',
'other_fields_here' => ...
];
}
以上不起作用,因此我无法理解Laravel文档。 谢谢你的任何指示。
答案 0 :(得分:2)
所以你希望元组(organisation_id,part_number)是唯一的。试试这个:
// ... other rules
'part_number' => 'unique:products,part_number,NULL,id,organisation_id,'.$organisation_id,
// other rules ...
选项包括:unique:table,field,id_to_be_ignored,id_field_of_the_table,additional_where_conditions
其中条件是要比较的条件相等,所以在你的情况下organisation_id,字段和$ organisation_id,值。
答案 1 :(得分:0)
答案是:
public function rules()
{
return [
'part_number' => 'unique:products,part_number,NULL,id,organisation_id,' . $orgId),