接收strotime()时,参数1应为字符串,php中存在给定错误的对象
当我通过数组时,程序运行良好,如下所示:接收strotime()时,参数1应为字符串,php中存在给定错误的对象,php,date,laravel,Php,Date,Laravel,当我通过数组时,程序运行良好,如下所示: $holidays=array("2015-01-01","2015-01-05","2015-01-10"); echo getWorkingDays("2015-01-02","2015-01-09",$holidays); 但当我像这样从数据库中提取数据时: $holidays = DB::table('tbl_holiday')->select('holiday_date')->whereBetween('holiday_date
$holidays=array("2015-01-01","2015-01-05","2015-01-10");
echo getWorkingDays("2015-01-02","2015-01-09",$holidays);
但当我像这样从数据库中提取数据时:
$holidays = DB::table('tbl_holiday')->select('holiday_date')->whereBetween('holiday_date', array('2015-01-01', '2015-01-20'))->get();
我得到了这个错误:strottime()期望参数1是字符串,给定的对象
在我的helpers.php中,我有以下代码
foreach($holidays as $holiday){
$time_stamp=strtotime($holiday);
//If the holiday doesn't fall in weekend
if ($startDate <= $time_stamp && $time_stamp <= $endDate && date("N",$time_stamp) != 6 )
$workingDays--;
}
foreach($假日作为$假日){
$time_stamp=strottime($假日);
//如果假日不是在周末
如果($startDate,只需从$holiday
$timestamp = strtotime($holiday->holiday_date);
使用数据库查询,您的$holidays
变量是一个stdClass对象数组。如果您想要一个只包含holiday\u date
值的数组,可以使用lists()
方法,而不是get()
:
也许值得一看:
$holidays = DB::table('tbl_holiday')
->whereBetween('holiday_date', array('2015-01-01', '2015-01-20'))
->lists('holiday_date');