Postingan lainnya
[ask] Cara Menghitung/Menampilkan jumlah data per Tag/Kategori di laravel
Saya mau tanya ..saya lagi buat fungsi tag/kategori.. kemudian saya ingin menampilkan jumlah postingannya misal. saya punya 3 postingan ber kategori programming dan 2 postingan ber kategori lirik lagu.. nah bagaimana cara untuk menampilkan jumlah data per kategori menjadi seperti ini
Programming(3) Lirik lagu(2)
moga aja ada yang bisa bantu .. makasih
13 Jawaban:
Bisa pake
Model::where('column','value yg diinginkan')::count();
@IamAn klo gitu ntar output nya malah jadi gini bang
Programmer(1) Lirik lagu(1) lainnya(1)
kan tabelnya ada field kategori bukan? jadi klo kita count dengan ngasih Model::where("kategori","programmer")->count(); yang kebaca maka data pada model dengan kategori programmer, klo ngga coba kasih gambaran struktur database agan gimana
Table artikel id title slug content id_kategori (relasi ke id di table kategori ) created_at / updated_at
Table kategori id nama
cuma gitu doang sih.. maaf ga di upload fotonya
harusnya bisa dengan artikel::where('id_kategori','value')->count()
saya kan punya kategori nya banyak mas... saya pengen ngitung jumlah artikel per kategori klo pake kode itu cuma ngitu 1 jumlah data kategori mas jadi kalo saya kasih id_kategori nya 1 .. yg ke itung cuma kategori pertama aja
jadi output nya semua kaya gini
programmer(2) lirik lagu(2) lainnya(2)
angka 2 itu data/artikel dari kategori pertama
sedangkan saya pengen tiap data/artikel dari kategori lainnya ke itung jg
diloop mas, ambil dulu data kategori terus loop deh
Untuk dapetin semua data dari kolom yg ingin dicari bisa pake method get() mas.
Contoh :
$programming_count = Artikel::where('kategori_id','1')->get()->count()
Karena dengan method get() dia bakal return collection, bukan model nya aja. CMIIW
Tanggapan
untuk cara menampilkan di viewnya gimana kak ?
Coba pada controller tambahkan ini : $kategoris = Artikel::select(DB::raw('kategori_id, count(id) as total')) ->groupby('kategori_id') ->orderby('kategori_id','asc') ->get();
Pada view : @foreach ($kategoris as $kategori) {{$kategori->nama}} ({{$kategori->total}}
@endforeach
@foreach($kategori as $kategoris)
@php $arrayjumlah = array(); @endphp
@foreach($kategoris->informasi->where('status',1) as $jumlah)
@php $arrayjumlah[] = $jumlah @endphp
@endforeach
@php $jum = count($arrayjumlah); @endphp
<span><a href="#"> {{ $kategoris->nm_kategori }} : {{ $jum }} </a></span>
@endforeach
coba gitu gan, simpan dulu dalam array..
hallo mau tanya, logika untuk menampilkan nilai tiap bulan itu gmna ya