【问题标题】:Laravel query builder with count of dependencies具有依赖项计数的 Laravel 查询构建器
【发布时间】:2018-08-02 20:37:36
【问题描述】:

我在使用 Laravel (Lumen) 构建查询时遇到问题。 这是我的代码:

$user = User::where('name', $name)
        ->with(['pages' => function($query){
            $query->orderBy('created_at', 'desc')
                ->with(['posts'])
                ->orderBy('created_at', 'desc')
                ->take(4);
        }])
        ->first();

我想添加页面和帖子的响应计数,因此我希望响应有两个额外的字段,例如:

...
pages_count: 5,
posts_count: 25
...

我该怎么做?

向查询中添加 ->count() 不起作用。

感谢您的帮助。

【问题讨论】:

    标签: php mysql laravel orm lumen


    【解决方案1】:

    你可以像这样使用withCount

    User::where('name', $name)
        ->withCount('pages')
        ->with(['pages' => function($query){
            $query->orderBy('created_at', 'desc')
                ->withCount('posts')
                ->with('posts')
                ->orderBy('created_at', 'desc')
                ->take(4);
        }])
        ->first();
    

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2016-05-02
      • 1970-01-01
      • 2015-02-01
      • 2012-11-16
      相关资源
      最近更新 更多