Php 带总和和分组的Laravel 8高级查询

Php 带总和和分组的Laravel 8高级查询,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我正在开发一个Laravel 8应用程序 我需要从表中获取值,通过将字段的值与DB::raw('sum(importoResiduo)as residuo')相加,计算我发现的anagrafica\u soggetto.codiceFiscale的出现次数。 我的问题是,我需要用where子句将这些结果分为六组。 我必须遵守的where条款是:where('importoResiduo','',20000) 我不知道哪种方式最好,有可能吗?有人有什么建议吗 这是我的密码 <?php na

我正在开发一个Laravel 8应用程序 我需要从表中获取值,通过将字段的值与
DB::raw('sum(importoResiduo)as residuo')相加,计算我发现的
anagrafica\u soggetto.codiceFiscale
的出现次数。 我的问题是,我需要用where子句将这些结果分为六组。 我必须遵守的where条款是:
where('importoResiduo','',20000)

我不知道哪种方式最好,有可能吗?有人有什么建议吗

这是我的密码

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Livewire\WithPagination;
use App\Tenant;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
use App\Models\AnagraficaSoggetto;

class TableReportResiduiFasce extends Component
{
    use WithPagination;

    protected $paginationTheme = 'bootstrap';

    protected $connection = null;
    protected $render = true;
    public $report = null;

    public function mount(Request $request){
       // Setto la connessione
       if (null !== $request->get('throughMiddleware')) {
        $this->connection = 'tenant';
        } else {
            $this->connection = null;
        }

        $anagrafica = new AnagraficaSoggetto();
        $anagrafica->setConnection($this->connection);

        $this->report = $anagrafica->select(
            'anagrafica_soggetto.codiceFiscale',
            DB::raw('sum(importoResiduo) as residuo')
        )->groupBy('anagrafica_soggetto.codiceFiscale')
            ->join('minuta_partita', 'minuta_partita.id_soggetto', '=', 'anagrafica_soggetto.id')
            ->join('partita_pagamenti', 'partita_pagamenti.id_minuta_partita', '=', 'minuta_partita.id', 'left outer')
            ->join('users', 'minuta_partita.id_user', '=', 'users.id', 'left outer')
            ->join('tipologia_imposta', 'minuta_partita.id_tipologia_imposta', '=', 'tipologia_imposta.id')
            ->whereBetween('importoResiduo', [100, 1000])->get();
        

        //dd($this->report);
        
    }

    public function render()
    {
        return view('livewire.table-report-residui-fasce')
        ->with('report', $this->report);
    }
}

i do