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

84 Kontribusi 16 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

<div>Coba cek has <a href="https://laravel.com/docs/8.x/eloquent-relationships#has-many-through">many through di Laravel</a><br><br>Nanti, untuk mengambil jumlah relation bisa pakai withcount<br>//contoh</div><pre>$posts = App\Post::withCount('comments')-&gt;get();

foreach ($posts as $post) { echo $post-&gt;comments_count; }</pre><div><br></div>

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 3 tahun yang lalu

Tanggapan

Terimakasih Mas Hilman

Login untuk ikut Jawaban