2016-10-15 9 views
0

$validator->getData();から単一の値を取得するのに役立つ人がいますか?私はちょうど私のクエリで時間とタイトルを使用したいと思ったが、私は時間の価値を得ることができないようだ。laravelのカスタム検証で2つのフィールドを使用する方法

だから、これはルールです:

$this->validate($request, [ 
     'name' => 'required|min:5|max:15', 
     'title' => 'required|min:5|max:100|availablee', 
     'time' => 'required|available|duration' 
    ]); 

と、これはavailableeためのコードですが、私は$valueを通じてタイトルの値を得ることができますが、私はarray_get

からの時間の値を取得することはできません
Validator::extend('availablee', function($attribute, $value, $parameters,$validator) { 


     $time1 = array_get($validator->getData(), $parameters[4]); 
     $time = explode(" - ",$time1); 

     $start = $this->change_date_format($time[0]); 
     $end = $this->change_date_format($time[1]); 


     // search for any possible clash with available events 

     $scene1 = DB::table('events') 
         ->where('title','==',$value) 
         ->where('start_time', '<=', $start) 
         ->where('end_time', '>=', $end) 
         ->count(); 


     if($scene1 > 0) 
     { 

      return false; 

     } 
    return true; 
    }); 
``` 

このコードはCheckRoomAvailability.php線83で私にErrorExceptionを与える: 未定義のオフセット:4

+0

あなたの '$のparameters'変数に存在してdoesntのキー' 4'、 'DD($パラメータ)を使用して行われ、その、そのを確認する上で'値。 – Neat

+0

私はdd($ parameters)を試しました。それは私に[]配列を与えます。私はdd($バリデータ)にしようとしました。それは私に使用する必要があるデータを提供します。バリデータの特定の値を取得するにはどうすればよいですか?助けてください – ejanchuelo

答えて

0

だけでなく、このコード

$time1 = $validator->getData();  
$time = explode(" - ",$time1['time']); 

代わりの

$time1 = array_get($validator->getData(), $parameters[4]); 
    $time = explode(" - ",$time1); 
関連する問題