【问题标题】:How to make this in laravel QueryBuilder如何在 laravel QueryBuilder 中做到这一点
【发布时间】:2020-10-26 07:51:04
【问题描述】:

我想采用进度的最大值列,该列按不同的列名排序。

例如;

进度 - Journey_id

  • 0 - 90
  • 12 - 90
  • 89 - 90
  • 7 - 90

我尝试编写的代码,但我不能做更多

  $impressions = DB::table('journey_content_impression')
                ->where('user_id', 11)
                ->where('journey_id',12)
                ->select('journey_item_id','progress')->distinct()->get();

最后,它应该给我们一个最大数量的行。 另外,行的其他列应该像这样可用,

$impressions->first()->user_id; //

【问题讨论】:

    标签: laravel eloquent query-builder laravel-query-builder


    【解决方案1】:

    也许它可以帮助你试试这个

    $impressions = DB::table('journey_content_impression')
    ->where([['user_id', 11],['journey_id',12]])
    ->select('journey_item_id','progress')->distinct()->get();
    

    【讨论】:

      【解决方案2】:

      试试这个:

      $impressions = DB::table('journey_content_impression')
                      ->where('user_id',{id})
                      ->where('journey_id',{j_id})
                      ->groupBy('journey_item_id')
                      ->get(['journey_item_id', DB::raw('MAX(progress) as progress')]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多