Laravel 5.2使用列检查进行验证

时间:2016-04-13 07:58:06

标签: php laravel-5.2

我有一个包含组织产品的表。该系统将以多租户方式包含多个组织。

我的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文档。 谢谢你的任何指示。

2 个答案:

答案 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),