Para ma-display ang mga kaugnay na data batay sa kategorya, kailangan natin magamit ang paghahanap o filtering ng data sa database. Ang mga hakbang na maaari mong sundin ay ang mga sumusunod:
1. Una, tiyaking may kaugnay na modelo at relasyon ito sa iyong database schema. Halimbawa, kung ang iyong mga kategorya ay naka-imbak sa isang "categories" table at ang mga kaugnay na data ay naka-imbak sa isang "data" table, dapat may relasyon ito tulad ng "category_id" column sa "data" table na sumasakop sa primary key ng "categories" table.
2. Sa iyong controller, kailangan mong makakuha ng lahat ng kategorya mula sa database at ipasa ito sa iyong view. Gamitin ang Query Builder ng Laravel upang gawin ito:
PHP:
use App\Models\Category;
public function index()
{
$categories = Category::all();
return view('your.view.name', compact('categories'));
}
3. Sa iyong view, magkaroon ng isang loop para sa mga kategorya at maglagay ng isang link o button para sa bawat isa. Halimbawa:
HTML:
@foreach ($categories as $category)
<a href="{{ route('your.route.name', $category->id) }}">{{ $category->name }}</a>
@endforeach
4. Sa iyong controller, kailangan mong magkaroon ng isa pang method na makakatanggap ng kategorya ID bilang parameter. Gamitin ang Query Builder muli upang kunin ang kaugnay na data batay sa kategorya ID:
PHP:
use App\Models\Category;
use App\Models\Data;
public function show($categoryId)
{
$category = Category::findOrFail($categoryId);
$relatedData = Data::where('category_id', $categoryId)->get();
return view('your.view.name', compact('category', 'relatedData'));
}
5. Sa iyong "show" view, gamitin ang mga variable na ito upang maipakita ang kaugnay na data. Halimbawa:
HTML:
<h1>{{ $category->name }}</h1>
@foreach ($relatedData as $data)
<p>{{ $data->title }}</p>
<p>{{ $data->description }}</p>
@endforeach
6. Siguraduhin na mayroon kang mga ruta na tumutugma sa mga ito. Halimbawa:
PHP:
Route::get('/', [YourController::class, 'index'])->name('your.route.name');
Route::get('/category/{id}', [YourController::class, 'show'])->name('your.route.name');
Ito ay isang simpleng halimbawa ng paano mo ma-display ang kaugnay na data batay sa kategorya sa parehong pahina gamit ang Laravel Framework. Maaari mo ring baguhin ang mga detalye base sa iyong database schema at view layout.