2017-11-23 10 views
0

dateの形式はY-m-dです。私は月ごとにそれをフィルタリングできますか?私はJanuary = 1, February = 2のような数字で月を指定しました。'Y-m-d'の形式で月ごとにフィルタリング

public function scopegetmonthleavereport($query,$payroll_employee_id,$month) 
{ 

     $query->join('tbl_payroll_leave_employee_v2','tbl_payroll_leave_schedulev2.payroll_leave_employee_id','=','tbl_payroll_leave_employee_v2.payroll_leave_employee_id') 
     ->join("tbl_payroll_employee_basic","tbl_payroll_leave_employee_v2.payroll_employee_id","=","tbl_payroll_employee_basic.payroll_employee_id") 
     ->join("tbl_payroll_leave_tempv2","tbl_payroll_leave_employee_v2.payroll_leave_temp_id","=","tbl_payroll_leave_tempv2.payroll_leave_temp_id") 
     ->select(DB::raw('tbl_payroll_employee_basic.payroll_employee_id , tbl_payroll_leave_schedulev2.payroll_schedule_leave, tbl_payroll_employee_basic.payroll_employee_display_name, tbl_payroll_leave_schedulev2.payroll_leave_temp_with_pay, tbl_payroll_leave_tempv2.payroll_leave_type_id, tbl_payroll_leave_employee_v2.payroll_leave_employee_id, tbl_payroll_leave_schedulev2.consume, tbl_payroll_leave_employee_v2.payroll_leave_temp_hours, sum(tbl_payroll_leave_schedulev2.consume) as total_leave_consume, (tbl_payroll_leave_employee_v2.payroll_leave_temp_hours - sum(tbl_payroll_leave_schedulev2.consume)) as remaining_leave')) 
     ->groupBy('tbl_payroll_leave_employee_v2.payroll_leave_temp_id') 
     ->where('tbl_payroll_leave_schedulev2.payroll_leave_schedule_archived',0) 
     ->where('tbl_payroll_leave_employee_v2.payroll_employee_id', $payroll_employee_id) 
     ->whereBetween('tbl_payroll_leave_schedulev2.payroll_schedule_leave', $date); //where i want to put the date 


    return $query; 
} 
+1

神のクエリービルダーはSQLでは 'WHIFT MONTH(date_field)=:month'を実行します。SQLレクサー/パーサーでORMを構築しなければならないと思います... – ArtisticPhoenix

+0

@ArtisticPhoenixどうすればいいですかララベルの雄弁に雄弁に? haha – nethkennnnn

+1

私はLaravelを使用しないのは分かりませんが、そのクエリービルダーは(読みやすさの観点から)私にとってはうんざりです。私は7年間SQLを書いていました。 ArtisticPhoenix

答えて

1

、どこ内でこのような 使用の何かのように試してみて、正規表現:私はそれを試していない

->Where('date', 'like', '%-' .$month. '-%')->get(); 

を。

0
use Carbon\Carbon; 

public function index(){ 
     date_default_timezone_set('Asia/Kolkata'); 

     //Total Students 
     $total_students = User::where('role_id','2')->count();   

     $today = Carbon::today()->toDateTimeString(); 
     //dd($today); 
      $first_day = date('Y, n, j', strtotime('-1 day', strtotime($today))); 
      $second_day = date('Y, n, j', strtotime('-2 day', strtotime($today))); 
      $third_day = date('Y, n, j', strtotime('-3 day', strtotime($today))); 
      $fourth_day = date('Y, n, j', strtotime('-4 day', strtotime($today))); 
      $fifth_day = date('Y, n, j', strtotime('-5 day', strtotime($today))); 
      $sixth_day = date('Y, n, j', strtotime('-6 day', strtotime($today))); 
      $seventh_day = date('Y, n, j', strtotime('-7 day', strtotime($today)));  

     return view('home',compact('total_students','total_doner','current_day_student','first_day','second_day','third_day','fourth_day','fifth_day' 
       ,'sixth_day','seventh_day')); 
    } 
+0

この例はあなたに役立ちます – Gowthaman

関連する問題