2017-12-11 7 views
1

クライアントテーブルにリンクするclient_id外部キーを持つロケーションテーブルがあります。私は、フォームの検証を追加して、新しい場所が作成されたときにそれが一意であるが、指定されたclient_idに対してのみ作成されるようにしたい。だから、クライアント1はアメリカという2つの場所を持つことはできませんが、クライアント1と2はどちらもアメリカを持つことができます。IDのユニークなラーバルルールの検証

あなたはlaravel検証ルールでこれを行うにはどうすればよい

+0

あなたの関係は何ですか?場所には多くのクライアントがいますか?または多くに多くある –

+0

@HaiderAliロケーションはクライアントに属し、クライアントには多くのロケーションがあります。 – user3074140

+0

クライアントからロケーションへの1対多の場合、ロケーションはすでにユニークです。場所のユニークなものを作る必要性は何ですか? –

答えて

3

laravel validationマニュアルを参照してください。 無視するテーブル、列、およびIDを指定できます。上記のルールで

'email' => 'unique:users,email_address,NULL,id,account_id,1' 

、1のACCOUNT_IDを持つ行のみが独自のチェックに含まれます:句がどこ

'email' => 'unique:users,email_address,'.$user->id 

また、追加追加することができます。あなたは

'client_id' => 'unique:Client table' 

、とユニークな検証に建てられlaravelのを使用することができますし、編集時にあなたは、

'client_id' => 'unique:Client table,client_id,'.$id 

ように私はそれが役に立てば幸い、現在の行のための例外を渡すことができ

1

ありがとうございます...

+1

ありがとう兄弟:) – Rits

関連する問題