首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择用户用Laravel5.7制作的出版物总数?

如何选择用户用Laravel5.7制作的出版物总数?
EN

Stack Overflow用户
提问于 2019-06-06 04:21:36
回答 2查看 175关注 0票数 0

我的问题是,我想要注册用户使用Laravel图书馆的高图表发布的促销活动的数量,问题是我可以让你打印用户的名字。但我无法让他印出他的出版物总数。

我的代码:

代码语言:javascript
复制
$users = User::select('nombre_empresa')->WhereIn('role_id',[2,3])->get();
    foreach ($users as $user) {

            $empresas[] = $user->nombre_empresa;
            $id[] = $user->id;
            $publicaciones[] = Promociones::where('user_id',$id)->get()->count();

    }

    $chart = new TotalPromociones;
    $chart->title('Total de promociones publicadas por socios');
    $chart->labels($empresas);
    $chart->dataset('Numero de promociones','bar', ([$publicaciones]));
    $chart->dataset('Total de promociones publicadas = '.$total_promociones,'bar',[]);

图解

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-06 04:37:06

对代码进行如下更改:

代码语言:javascript
复制
    $users = User::WhereIn('role_id',[2,3])->pluck('nombre_empresa', 'id');

    $empresas = [];
    $publicaciones = [];

    foreach ($users as $key => $val) {

            $empresas[] = $val;
            $publicaciones[] = Promociones::where('user_id',$key)->count();

    }

    $chart = new TotalPromociones;
    $chart->title('Total de promociones publicadas por socios');
    $chart->labels($empresas);
    $chart->dataset('Numero de promociones','bar', ([$publicaciones]));
    $chart->dataset('Total de promociones publicadas = '.$total_promociones,'bar',[]);
票数 0
EN

Stack Overflow用户

发布于 2019-06-06 04:49:10

Laravel提供了一种计算关系结果数量的方法。

如果您想在不实际加载关系的情况下计算来自关系的结果数量,则可以使用withCount方法,该方法将在生成的模型上放置一个{relation}_count列。例如:

代码语言:javascript
复制
$posts = App\Post::withCount('comments')->get();

foreach ($posts as $post) {
    echo $post->comments_count;
}

在你的例子中,这会是这样的:

代码语言:javascript
复制
$users = User::select('nombre_empresa')->withCount('promociones')->WhereIn('role_id',[2,3])->get();

foreach ($users as $user) {
    $empresas[] = $user->nombre_empresa;
    $id[] = $user->id;
    $publicaciones[] = $user->promociones_count;
}

传递给withCount()方法的值应该与User模型中给出的与Promociones的关系的方法名称相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56470852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档