count()在使用skip and take in laravel ORM后返回0

count()在使用skip and take in laravel ORM后返回0,laravel,eloquent,Laravel,Eloquent,我需要在单独的laravel ORM中使用count()和skip() 但在这种特殊情况下,count()不能为true并返回0值 这是我的代码,在两种情况下使用: $query = Order::where('status',0)->orderBy('id','DESC'); $orders = $query->skip(0)->take(6)->get()->toArray(); echo $query-&

我需要在单独的laravel ORM中使用count()和skip()

但在这种特殊情况下,count()不能为true并返回0值

这是我的代码,在两种情况下使用:

        $query  = Order::where('status',0)->orderBy('id','DESC');
        $orders = $query->skip(0)->take(6)->get()->toArray();
        echo    $query->count();//50
没关系,但是当我使用这个:

        $query  = Order::where('status',0)->orderBy('id','DESC');
        $orders = $query->skip(6)->take(6)->get()->toArray();
        echo    $query->count();//0

它返回0值,但应返回50。有什么问题吗?

如果您直接依赖于查询对象,请像这样尝试,它会起作用的

$query  = Order::where('status',0)->orderBy('id','DESC');
// to get 50 rows
$orders = $query->skip(6)->take(50)->get();
// $ordArr = $orders->toArray();
echo $orders->count();

哪个laravel版本?能否启用查询日志并在这两种情况下发布查询?(将
DB::connection()->enableQueryLog()
放在查询之前,将
dd(DB::getQueryLog());
放在查询之后)@ÖmerYilmaz我使用的是7.0版这将绝对返回6!将
->take(6)
更改为
->take(50)
它将得到跳过6的50行。我更新了答案。