Php 使用左连接的laravel查询有什么问题?

Php 使用左连接的laravel查询有什么问题?,php,laravel,Php,Laravel,我正在从事一个laravel项目(laravel 6.8)。我有一个位置表和一个仪表板表。我正在尝试构建一个查询,该查询将从dashboards表返回所有匹配的记录。查看另一个SO question(),我看到了类似的需求,并尝试调整代码以满足我的需求,但仍然不起作用。 这就是我现在拥有的 $locations = DB::table('locations') ->selectRaw("site_name, COUNT(DISTINCT client) as cl

我正在从事一个laravel项目(laravel 6.8)。我有一个位置表和一个仪表板表。我正在尝试构建一个查询,该查询将从dashboards表返回所有匹配的记录。查看另一个SO question(),我看到了类似的需求,并尝试调整代码以满足我的需求,但仍然不起作用。 这就是我现在拥有的

  $locations = DB::table('locations')
     ->selectRaw("site_name,
      COUNT(DISTINCT client) as client_count,
      GROUP_CONCAT(client_lob) as lobs,
      COUNT(DISTINCT client_lob) as lob_count,
      SUM(agent_workstations) as aw_sum,
     SUM(production_support_workstations) as psw_sum,
    locations.*" )
       ->leftJoin('dashboards', 'locations.id', '=', 'dashboards.location_id')

     ->whereNotNull('latitude')
    ->groupBy(['site_name'])
    ->orderBy('site_name', 'asc')
    ->get();

它只从位置返回数据,不从仪表板返回任何内容。我看不出这个问题出了什么问题。有人能提供一些建议吗?

因为您从不选择仪表板的字段,请尝试如下选择仪表板的字段:

$locations=DB::table('locations')
->选择原始(“站点名称,
将(不同的客户端)计数为客户端计数,
作为lob的集团公司(客户公司),
将(不同的客户端\u lob)计数为lob\u计数,
金额(代理工作站)为aw金额,
SUM(生产支持工作站)作为psw SUM,
位置。*,仪表板.column1,仪表板.column2”)

因为您从不选择仪表板的字段,所以我需要结束它,然后睡觉@TsaiKoga,回答而不是评论,我会接受的。我不知道我是怎么漏掉的。表
仪表板中的字段名是什么?或者你想从仪表板上得到什么字段?@TsaiKoga,不,你是对的。这就是我所缺少的。我完全忽略了这一点。如果你能把你的评论变成一个答案,我会接受。我已经发布了。