【问题标题】:How to convert select max sql query to eloquent laravel?如何将 select max sql 查询转换为雄辩的 laravel?
【发布时间】:2020-08-06 10:06:35
【问题描述】:

我有从 laravel 控制器中的数据库中选择最大数据的 sql 查询。但是,我想使用 eloquent 版本来做到这一点。

这是我的 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】:
     AkunTrxs::select('saldo')
                ->whereIn('akun_id', function ($query) {
                    $query->select('id')
                        ->from('akuns')
                        ->where('akun_parrent', 1);
                })->whereIn('id', function ($query) {
                    $query->selectRaw('MAX(id)')->groupBy('akun_id');
                })->get();
    

    【讨论】:

      【解决方案2】:

      试试这个(未测试)

              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();
      
      

      【讨论】:

        猜你喜欢
        • 2017-01-05
        • 1970-01-01
        • 1970-01-01
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-01
        • 1970-01-01
        相关资源
        最近更新 更多