2016-04-13 24 views
0

組織用の製品を含むテーブルがあります。このシステムには、マルチテナントの方法で複数の組織が含まれます。Laravel 5.2列チェックによる検証

productsテーブルには、次の列があります。

id organisation_id product_id other_columns 

私はproductsの要求を作成していると私は今create productフォームからの入力を検証したいのです。 product_idこのorganisation_id

requestrules()方法について一意であるための要件は、上記

public function rules() 
{ 
    return [ 
     'part_number' => 'required|max:20|unique:products,part_number,'.$request->organisation_id.',organisation_id', 

     'other_fields_here' => ... 

    ]; 
} 

では動作しませんので、私はLaravelのマニュアルを理解するのに失敗しています。 ありがとうございます。

答えて

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、値を等しく比較されます。

0

答えは:

public function rules() 
{ 
    return [ 
     'part_number' => 'unique:products,part_number,NULL,id,organisation_id,' . $orgId), 
関連する問題