Laravel中按guru_category分组展示教师数据仅显示单个分类的问题求助
Laravel中按guru_category分组展示教师数据仅显示单个分类的问题求助
我正在开发一个按分类(guru_category)分组展示教师数据的功能,以下是我使用的代码:
控制器代码
public function showGuru(Request $request) { $search = $request->input('search'); $category = $request->input('category'); $gurus = Guru::when($search, function ($query) use ($search) { return $query->where('nama_guru', 'like', '%' . $search . '%') ->orWhere('guru_category', 'like', '%' . $search . '%') ->orWhere('divisi_guru', 'like', '%' . $search . '%'); }) ->when($category, function ($query) use ($category) { return $query->where('guru_category', $category); // Filter berdasarkan kategori }) ->get() ->groupBy('guru_category'); // Kelompokkan berdasarkan kategori return view('show.guru', compact('gurus', 'search', 'category')); }
Blade模板代码
@foreach($gurus as $category => $categoryGurus) <!-- Iterasi setiap kategori --> <div class="flex flex-col mb-8"> <!-- Tampilkan nama kategori --> <div> <h1 class="font-bold text-md mb-2 uppercase">{{ $category }}</h1> <!-- Nama kategori --> </div> <!-- Iterasi guru di dalam kategori --> <div class="grid grid-cols-2 md:grid-cols-5 mx-4 gap-2 space-y-4"> @if($categoryGurus->isEmpty()) <!-- Jika tidak ada guru dalam kategori --> <p>No gurus available in this category.</p> @else @foreach($categoryGurus as $guru) <!-- Iterasi setiap guru dalam kategori --> <div class="flex flex-col"> <!-- Gambar Guru --> <img class="mb-2 rounded-lg" src="{{ asset('storage/' . $guru->foto_guru) }}" alt="{{ $guru->nama_guru }}"> <!-- Detail Guru --> <div class="text-container"> <h1 class="font-bold text-sm capitalize leading-4 tracking-tighter">{{ $guru->nama_guru }}</h1> <p class="text-xs leading-3 opacity-50">{{ $guru->divisi_guru }}</p> </div> </div> @endforeach @endif </div> </div> @endforeach
我原本期望所有分类(guru_category)都能展示出来,并且每个分类下对应分组的教师数据也能正常显示。
但实际情况是:页面上只显示了一个分类,尽管我在控制器里用dd($gurus)输出时能看到多个分类及其对应的数据。以下是dd($gurus)的输出结果:
Illuminate\Database\Eloquent\Collection { "Kepala Sekolah" => Collection [ 0 => Guru { nama_guru: "mary jane", guru_category: "Kepala Sekolah" }, ], "Matematika" => Collection [ 0 => Guru { nama_guru: "John Doe", guru_category: "Matematika" }, ], ... }
为什么视图里只显示了一个分类?是我遍历分组数据的方式不对,还是逻辑上有什么问题?希望能得到大家的帮助!
备注:内容来源于stack exchange,提问作者Moses Farrel Risgian
相关产品推荐
相关产品推荐

