у меня есть date
в формате Y-m-d
. Как отфильтровать по месяцам? Я указал месяц числами вроде January = 1, February = 2
и так далее.
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;
}
ugly
, но в SQL вы делаетеWHERE MONTH(date_field) = :month
Напоминает мне, что я должен построить ORM с лексером / парсером SQL ... - person ArtisticPhoenix   schedule 23.11.2017crap
(с точки зрения удобочитаемости). Я пишу SQL 7 лет, ‹shrug› - person ArtisticPhoenix   schedule 23.11.2017whereMonth
Я сделал это с помощью этой строчки, ха-ха. Спасибо за подсказку, братан - person nethkennnnn   schedule 23.11.2017regretfully
использовал их (Доктрина), и я обнаружил, что они для меня как пара наручников. - person ArtisticPhoenix   schedule 23.11.2017