【发布时间】:2020-07-27 05:32:42
【问题描述】:
我想获取第一次连接到数据库的所有记录,然后获取这些记录的数量。
$journeyItems = JourneyItem::whereIn('as_journey_id', $journeyIds->toArray())
->whereHas('content', function (Builder $query) {
$query->whereIn('as_content_type_id', [6, 7]);
})->get();
$totalRecords = $journeyItems->count(); // count=15
$journeyItems = $journeyItems->offset($start)
->limit($limit);
dd(journeyItems); // Error
Illuminate\Database\Eloquent\Collection::offset 不存在作为 结果:没用
如何编辑?
我猜下面的方法不是正确的方法
$journeyItems = JourneyItem::whereIn('as_journey_id', $journeyIds->toArray())
->whereHas('content',function(Builder $query) {
$query->whereIn('as_content_type_id', [ 6, 7]);
})
->offset($start)
->limit($limit)
->get();
$totalRecords = JourneyItem::whereIn('as_journey_id', $journeyIds->toArray())
->whereHas('content',function(Builder $query) {
$query->whereIn('as_content_type_id', [ 6, 7]);
})
->count();
【问题讨论】:
-
你试过使用分页功能吗? laravel.com/docs/7.x/pagination#paginating-eloquent-results 获取同一查询的总记录数。
标签: php laravel eloquent laravel-7