Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

COUPDEGRACES's avatar

Summing a value and grouping by date

I have controller called AdminController.php

    public function pdf1(Request $request)
    {
        if ($request->date){
        $date = $request->date;
        $iklan = Iklan::with('user:id,name,created_at','tipe:id,deskripsi,harga')->where('waktupesan', $date)->orderBy('created_at', 'asc')->take(50)->get();
        $pdf1 = \PDF::loadView('pdf1', compact('iklan'))->setPaper('A4', 'landscape');
       return $pdf1->stream();
        }

in blade

        @foreach($iklan as $data2)
           <b> <p style="text-align:right">Total: {{ $data2->tipe->sum('harga') }}</p><b>
            @break
            @endforeach

when im check , thats result wrong calculate https://prnt.sc/10wivau

0 likes
1 reply
jlrdw's avatar
jlrdw
Best Answer
Level 75

A groupby is like:

$quy = Powner::query()->leftJoin('dc_pets', 'dc_powners.ownerid', '=', 'dc_pets.ownerid')
                ->select('dc_powners.ownerid', 'dc_powners.oname')
                ->selectRaw('count(dc_pets.petid) as countOfPets')
                ->groupby('dc_powners.ownerid')
                ->orderby('dc_powners.oname')
                ->get();

Results basically give:

ownerid, oname, countOfPets

Like:

5|Bob|3
4|Greg|9
2|Rob|1

Just adapt to what you need and use sum instead of count. A good tutorial on sum:

https://www.mysqltutorial.org/mysql-sum/ has many examples.

Please or to participate in this conversation.