使用条件连接表,然后聚合列

时间:2018-02-11 19:20:00

标签: laravel

鉴于我在两个表用户和填充表单之间有一个简单的连接,填充表单有列:值,销售和收入。

销售和收入是布尔列,如果其中任何一个设置为true,那么我知道哪个值是销售额,哪个是收入。

User::where('id', $id)
         ->leftJoin("filled_forms", function($join){

           $join->on("user.form_id", "filled_forms.id")
                ->where("filled_forms.sales", true)
                ->where("filled_forms.income", true);
          })->get();
  

现在销售的所有字段都设置为true我想要   count(filled_forms.value) as number_of_sales和所有收入   设置为true我想做sum(filled_forms.value) as income

我知道我可以用DB::Raw做点什么吗?

1 个答案:

答案 0 :(得分:0)

您可以为这些要求创建SQL视图,因为它将为您提供包含实时更新信息的表。 http://beginner-sql-tutorial.com/sql-views.htm

然后,您可以按照标准laravel where条件从视图中获取数据。