需要帮助如何在Where子句中传递数组值

时间:2019-05-03 15:54:52

标签: php mysql arrays laravel for-loop

我试图在where子句中传递日期数组,但是没有任何值。如何在laravel中的where子句中传递数组值?

我已经尝试过了,但是没有用:

->where('shift_detail.shift_date', '=', date('Y-m-d', $i))  

如果我这样设置日期

->where('shift_detail.shift_date', '=', '2018-01-1')

然后在循环中工作,但不工作。

$month = "1";
$year = "2019";
$start_date = "01-" . $month . "-" . $year;
$end_date = date('Y-m-t', strtotime($start_date));

$start_time = strtotime($start_date);
$end_time = strtotime("+1 month", $start_time);

for ($i = $start_time; $i < $end_time; $i += 86400) {
    $list[] = date('Y-m-d', $i);

    $emp = DB::table('employee_schedule')
        ->join('shift_detail', 'shift_detail.shift_id', '=', 'employee_schedule.shift_id')
        ->join('timetable', 'timetable.timetable_id', '=', 'shift_detail.timetable_id')
        ->where('shift_detail.shift_date', '=', date('Y-m-d', $i))
        ->where('employee_schedule.employee_personnelno', '=', $pno)
        ->get();

    return $emp;
}

它应该返回$emp值,其中shift_detail.shift_date等于日期列表。

0 个答案:

没有答案