获取集合总数

skip如何在使用后和take查询中获得记录总数?


代码工作:


$records = Model::where('active', 1)

                 ->skip(($page -1 ) * $max)

                 ->take($max);

// List of records

$data = $records->get()


//Total of all records including the skip records

$total = $records->paginate()->total();

我想要这种方式,但代码不起作用:


$records = Model::where('active', 1)

                 ->skip(($page -1 ) * $max)

                 ->take($max)->get();


//Not Working 

$total = $records->paginate()->total();


//Not Working 

$total = $records->total();


//Not Working wrong result

$total = $records->count();

如何获取集合中的所有总记录?


Cats萌萌
浏览 153回答 3
3回答

慕桂英546537

paginate()直接在您的模型上使用该方法:$records = Model::where('active', 1)->paginate($recordsPerPage);这将返回一个LengthAwarePaginator实例,它有很多有用的方法:比如$records->total(),$records->perPage()等等

当年话下

尝试这个$records = Model::where('active', 1)                  ->skip(($page -1 ) * $max)                  ->take($max)->get();                  $total = count($records);

梵蒂冈之花

在第一个示例中,您的呼叫 paginate() 是在查询生成器上...(在您执行之前 ->get())在您的第二个示例中,在您使用 ->get() 检索结果后, paginate() 调用在集合中$records 在两者中都是不同的东西,首先是查询构建器,其次是集合
打开App,查看更多内容
随时随地看视频慕课网APP