Код: Выделить всё
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'));
}
Код: Выделить всё
@foreach($gurus as $category => $categoryGurus)
{{ $category }}
@if($categoryGurus->isEmpty())
No gurus available in this category.
@else
@foreach($categoryGurus as $guru)
[img]{{ asset([/img]
foto_guru) }}" alt="{{ $guru->nama_guru }}">
{{ $guru->nama_guru }}
{{ $guru->divisi_guru }}
@endforeach
@endif
@endforeach
Что произошло вместо этого:
Только одна категория отображается на странице, хотя вывод dd() в контроллере показывает несколько категорий с соответствующими данными. Вот результат 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" },
],
...
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-instance