2017-07-05 24 views
0

すべてが良い作品正常に動作しないようですが、私は合格したときに - > orWhereBetweenクエリの結果は全く意味がありません。..orWhereBetween条件は、私は私のフィルタクエリでorWhereBetween条件に合格しないとき

希望を誰かが私を助けて、どこに問題があるのか​​を知ることができます。

$ query = Amende :: query();

 $filters = [ 
      'structure_id' => 'structure_id', 
      'equipe_id' => 'equipe_id', 
      'bareme_amende_id' => 'bareme_amende_id', 
      'saison_id' => 'saison_id' , 
      'dt_min' => 'dt_amende' , 
      'dt_max' => 'dt_amende', 
      'etat_paiement' => 'etat_paiement', 
      'bl_comptabilite' => 'bl_comptabilite', 


     ]; 


     $dt_min = $request->input('dt_min'); 
     $dt_min = Carbon::parse($dt_min)->format('Y-m-d'); 
     $dt_max = $request->input('dt_max'); 
     $dt_max = Carbon::parse($dt_max)->format('Y-m-d'); 

     foreach ($filters as $key => $column) { 
     $query->when($request->has($key), function ($query, $value) use ($column,$key, $request , $dt_min , $dt_max) { 
      $query->where($column, $request->$key) 
      ->orWhere(function ($query) use ($dt_min , $dt_max){ 
      $query->whereBetween('dt_amende' , [$dt_min , $dt_max]); 
      }); 
     }); 
    } 

     $amendes = $query->paginate(10); 

答えて

1

この1 ...おかげでたくさんの作品:)

$dt = array($dt_min , $dt_max); 
->orWhere(function ($query) use ($dt){ 
$query->whereBetween('dt_amende' , [$dt[0] , $dt[1]]); 
}); 
+0

完了男を試してみてください –

関連する問題