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;
}
神のクエリービルダーはSQLでは 'WHIFT MONTH(date_field)=:month'を実行します。SQLレクサー/パーサーでORMを構築しなければならないと思います... – ArtisticPhoenix
@ArtisticPhoenixどうすればいいですかララベルの雄弁に雄弁に? haha – nethkennnnn
私はLaravelを使用しないのは分かりませんが、そのクエリービルダーは(読みやすさの観点から)私にとってはうんざりです。私は7年間SQLを書いていました。 –
ArtisticPhoenix