首页 > 解决方案 > 在 Laravel 中获取具有不同外国 ID 的列中的最大值

问题描述

我想从一个列中获取最大值,但是那些值对应两个不同的外来id,所以我希望它返回每个外来id的最大数。我不知道我是否必须使用max()...目前我只是使用groupBy两个外国ID。

这里是 MySqlAdmin 中的表。我想bid为每个id_group和获得最大值id_karatekas在此处输入图像描述

这是我的代码:

public function soldKarateka()
    {
        $response = array('code' => 400, 'error_msg' => []);
       self::getBidByKaratekaGroup($response);
       return response($response, $response['code']);
    }


    private function getBidByKaratekaGroup( & $response){
        $bidsPerKarateka = DB::table('bids')
            ->groupBy('id_group','id_karatekas')
           ->get();
             $response = array('code' => 200, 'Karatekas order by group' => $bidsPerKarateka);
    }

标签: phpsqllaravellaravel-5eloquent

解决方案


你试过max函数吗?

我认为以下代码段将起作用

$data = DB::table('bids')
    ->select(DB::raw('MAX(bid) as bid'))
    ->groupBy('id_group', 'id_karatekas')->get();

推荐阅读