首页 > 解决方案 > 如何在 laravel QueryBuilder 中做到这一点

问题描述

我想取用不同列名排序的进度列的最大值。

例如;

进度 - Journey_id

我试图制作的代码,但我不能做更多

  $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; //

标签: laraveleloquentquery-builderlaravel-query-builder

解决方案


尝试这个:

$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')]);

推荐阅读