Postingan lainnya
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
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')->get();
foreach ($posts as $post) { echo $post->comments_count; }</pre><div><br></div>
Tanggapan
Terimakasih Mas Hilman