为什么要引入loadCount()及其在laravel中的实际用法

时间:2019-03-07 05:09:50

标签: laravel

  

我已经在这里阅读了文档:   https://github.com/laravel/framework/pull/25997

我想知道的是,使用withCount()只是加载记录计数,而不是获取所有关系数据。

那么通过使用loadCount()我们可以做什么?

请简单说明。 谢谢

1 个答案:

答案 0 :(得分:5)

Laravel 5.7.10版本引入了

loadCount雄辩的收集方法。根据{{​​3}}。

loadCount 是能够在Eloquent集合上加载关系计数的功能。在使用此功能之前,您只能加载关系,但是现在您可以调用loadCount()来获取所有关系的计数。

拉取请求通过以下示例说明了如何使用loadCount():

$events = Event::latest()->with('eventable')->paginate();

$groups = $events->map(function ($event) {
    return $event->eventable;
})->groupBy(function ($eventable) {
    return get_class($eventable);
});

$groups[Post::class]->loadCount('comments');
$groups[Comment::class]->loadCount('hearts');

return new EventIndexResponse($events);