Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel-5.4:获取从昨天5点开始创建的记录;直到现在_Laravel_Php Carbon - Fatal编程技术网

laravel-5.4:获取从昨天5点开始创建的记录;直到现在

laravel-5.4:获取从昨天5点开始创建的记录;直到现在,laravel,php-carbon,Laravel,Php Carbon,我需要获取从昨天下午5点创建的记录,直到现在,如果我尝试以下操作: 如果我在8am打开系统,查询开始昨天下午5点直到现在(8am) 如果我在1pm打开系统,查询开始昨天下午5点直到现在(1pm) 。。。等等 这是我的功能 public function allNewOrdersToday() { $allNewOrders = ( new OrderList() ) ->where( 'created_at', '>=', Carbon::

我需要获取从昨天下午5点创建的记录,直到现在,如果我尝试以下操作:

  • 如果我在
    8am
    打开系统,查询开始
    昨天下午5点
    直到
    现在
    (8am)
  • 如果我在
    1pm
    打开系统,查询开始
    昨天下午5点
    直到
    现在
    (1pm)
。。。等等

这是我的功能

public function allNewOrdersToday() {
        $allNewOrders = ( new OrderList() )
            ->where( 'created_at', '>=', Carbon::yesterday() )

        return $allNewOrders;
    }
试着这样做:

public function allNewOrdersToday() {
    $allNewOrders = ( new OrderList() )
       ->whereDate( 'created_at', '>=', date('Y-m-d 17:00:00',strtotime("-1 days")) 
    return $allNewOrders;
 }

使用
Carbon
,您应该能够使用
Yesturday()
setTime()
Carbon方法查询日期超过
Yesturday 5:00pm

use Carbon\Carbon;

... 

public function allNewOrdersToday() {
    return OrderList::whereDate('created_at', '>=', Carbon::yesterday()->setTime(17, 00, 00)->toDateTimeString())
        ->get();
}

在本例中,我将
(new OrderList())
更改为
OrderList::…
,因为您使用的是
雄辩的
模型,并且能够调用查询生成器方法,而无需类的新实例。

什么是
OrderList()
?这是
型号
?如果是这样,是否有理由创建一个
新订单列表()
,而不仅仅是使用静态生成器方法?@thisiskelvin是的,这是一个模型,这是function@YousefAltaf请试一试。如果这样做有效,请将问题标记为正确