首页
学习
活动
专区
圈层
工具
发布

-计数/w
EN

Stack Overflow用户
提问于 2015-04-12 09:19:02
回答 1查看 8.1K关注 0票数 1

真的很纠结于这个查询,环顾四周,我找不到我需要的答案!

我有4张桌子,优惠,用户,储蓄者和使用者。savedoffers/usedoffers表是用户与服务之间的关系表。

我想要返回一份报盘列表,然后剩下的加入用户和储蓄者。然后,将它们按优惠(比如提供id)分组,然后计算出有多少用户已经保存了这些优惠,有多少人使用了它们。

经过我所有的努力我在这里..。

代码语言:javascript
复制
$offers = DB::table('offers')
            ->select('offers.id as id', 
                     'offers.code', 
                     'offers.title', 
                     'offers.date', 
                      DB::raw('count(usedoffers.id) as used_count'),
                      DB::raw('count(savedoffers.id) as saved_count'))
            ->leftjoin('savedoffers', 'offers.id', '=', 'savedoffers.offer_id')
            ->leftjoin('usedoffers', 'offers.id', '=', 'usedoffers.offer_id')
            ->orderBy('offers.date', 'asc')
            ->groupBy('offers.id')
            ->get();

这仍然不起作用,因为这两者似乎都算在内:

当我想把我的头撞在墙上时,很多帮助是值得赞赏的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-13 08:01:17

我已经回答了我自己的问题。

我需要计算usedsaved的不同I,这给了我想要的输出.

所以如下..。

代码语言:javascript
复制
$offers = DB::table('offers')
                    ->select('offers.id as id', 
                             'offers.code', 
                             'offers.title', 
                             'offers.date', 
                              DB::raw('count(DISTINCT usedoffers.id) as used_count'),
                              DB::raw('count(DISTINCT savedoffers.id) as saved_count'))
                    ->leftjoin('savedoffers', 'offers.id', '=', 'savedoffers.offer_id')
                    ->leftjoin('usedoffers', 'offers.id', '=', 'usedoffers.offer_id')
                    ->where('company_id', '=', User::find(\Auth::user()->id)->company_id)
                    ->orderBy('offers.date', 'asc')
                    ->groupBy('offers.id')
                    ->get();

想要像这样解决这个问题是很困难的,所以最终只能用MySQL来纠正它。

我试图用var_dump(DB::getQueryLog());输出这个语句,但是它没有工作。这是因为在Laravel中,您需要在查询之前通过添加以下语句DB::enableQueryLog();来启动Querylog

希望这也能帮到别人!

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

https://stackoverflow.com/questions/29587853

复制
相关文章

相似问题

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