接收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');