Menghitung Total Data dari Relasi tidak langsung pada laravel 5.4

Selamat sore, saya mempunyai Model relasi seperti berikut :

Mitra hasMany Objek -- > Objek belongsTo Mitra
Ojek hasMany Wajib_Retribusi --> Wajib_Retribusi belongsTo Objek

Saya kesulitan untuk menghitung Total Data Wajib_retribusi yang ada di bawah Mitra.

Controller :
public function wrt(){
       $user = Auth::user()->mitra_id;
       $mitra = Mitra::with(['objeks' => function ($query) {
           $query->with(['wajib_retribusis' => function ($myquery) {
               $myquery->limit(5);
           }]);
       }])->where('id', $user)->first();
   return view('admin.wajib-retibusi',compact('mitra'));
}

View :
@foreach($mitra->objeks as $objek)
     @foreach($objek->wajib_retribusis as $rc)
        <!-- table view -->
     @endforeach
@endforeach

Saya mau menghitung jumlah data wajib_retribusis yang berada di bawah mitra dan menampilkannya diluar foreach,  Saya coba menggunakan
{{$rc->count()}}
Tapi cara ini malah menghitung semua data yang ada di tabel wajib_retribusis, saya juga coba menggunakan cara ini
{{$objek->wajib_retribusis->count()}}
jika cara ini dilakukan di dalam foreach dia menghitung jumlah query berdasarkan limit(5) yang ada pada controller sedangkan saya mau menghirung semuanya, jika ini dilakukan diluar foreach ia menghasilkan nilai 0.

Mohon pencerahan :D
avatar Supriono

@Supriono

78 Kontribusi 11 Poin


Jawaban Terpilih

Coba cek has many through di Laravel

Nanti, untuk mengambil jumlah relation bisa pakai withcount
//contoh
$posts = App\Post::withCount('comments')->get();

foreach ($posts as $post) {
    echo $post->comments_count;
}

avatar hilmanski

@hilmanski

2446 Kontribusi 2023 Poin

Jawaban

Coba cek has many through di Laravel

Nanti, untuk mengambil jumlah relation bisa pakai withcount
//contoh
$posts = App\Post::withCount('comments')->get();

foreach ($posts as $post) {
    echo $post->comments_count;
}

avatar hilmanski

@hilmanski

2446 Kontribusi 2023 Poin


Login untuk gabung berdiskusi