使用Laravel 5.1从最近两个小时插入的数据库中获取记录


Get record from database inserted in last two hours using Laravel 5.1

我想从Laravel 5.1中最近两个小时插入的数据库中获取所有记录。我可以通过使用以下代码获得最后1小时的记录:

$all_bridal_requests_check2 = 'DB::table('bridal_requests')
                    ->where(function($query)
                    {
                        $query->where('publisher', '=', 'bq-quotes.sb.com')
                              ->orWhere('publisher', '=', 'bq-wd.com-bsf');
                    })
                    ->where('created_on', '>=', 'Carbon'Carbon::now()->subHour())
                    ->orderBy('created_on', 'desc')
                    ->get();

使用MySQL NOW()INTERVAL

WHERE `created_on` > NOW() - INTERVAL 2 HOUR

在Laravel

->where('created_on', '>', NOW() - INTERVAL 2 HOUR)

使用"subHours(2)"而不是"subHour"

->where('created_on', '>=', 'Carbon'Carbon::now()->subHours(2))

试试这个:

$all_bridal_requests_check2 = 'DB::table('bridal_requests')
                    ->where(function($query)
                    {
                        $query->where('publisher', '=', 'bq-quotes.sb.com')
                              ->orWhere('publisher', '=', 'bq-wd.com-bsf');
                    })
                    ->where('DB::raw('date >= DATE_SUB(NOW(), INTERVAL 2 HOUR)')) ->count()
                    ->orderBy('created_on', 'desc')
                    ->get();