2016-05-08 27 views
0

シナリオでは、1人のユーザーが多数のデバイスを所有していて、デバイス名がunique.likeユーザーであることを確認したいと思っています。Barryはdevice_1という名前のデバイスを所有しています。 wallyはdevice_1という名前のデバイスを持っていますので、どうすれば実装できますか?コードは、あなたの更新またはnullの場合は、最初に作成している場合は、上記のコードはモデルからなっている場合には、例えば、デバイスのIDを追加する必要がありますlaravelのフォーム検証

public function rules() 
    { 
     $user_id=(double)Input::get('user_id'); 

     return [ 
      'user_id' => 'required', 
      'device_name' => 'required|unique:devices,device_name,'.$user_id.',user_id', 
      'sensorPin_num' => 'required|integer', 
      'relay_num' =>'required|integer' 

      // 
     ]; 
    } 
+0

このコードはデバイステーブルのすべてのレコードをチェックしますが、指定したユーザーIDに従ってチェックします。 – User101

答えて

0

以下の通りである:ここでは

$device_id = $this->id ?: null; 

書き込みですユニークなルール:

'device_name' => 'required|unique:devices,device_name, '. $device_id .',id,user_id,'.$user_id; 
+0

なぜデバイスのIDが必要なのですか? – User101

関連する問題