如何将select max sql查询转换为eloquent laravel?

问题描述 投票:0回答:1

我在laravel控制器中使用sql查询从数据库中选择最大数据。但是,我想用雄辩版来做。

这是我的sql查询

DB::select('SELECT saldo
        FROM akun_trxes
        WHERE akun_id IN (SELECT id FROM akuns WHERE akun_parrent = 1)
        AND id IN (
            SELECT MAX(id)
            FROM akun_trxes
            GROUP BY akun_id
        )');

谢谢 :)

sql laravel eloquent
1个回答
0
投票

试试这个(未测试)

        AkunTrxs::select('saldo')
            ->whereIn('akun_id', function ($query) {
                $query->select('id')
                    ->from(with(new Akun)->getTable())
                    ->where('akun_parrent', 1);
            })->whereIn('id', function ($query) {
                $query->selectRow('MAX(id)')
                    ->groupBy('akun_id');
            })->get();

© www.soinside.com 2019 - 2024. All rights reserved.