What's new

PHP Question lang po about PHP(Laravel Framework)

Lee gee

Journeyman
Joined
Mar 18, 2023
Posts
14
Reaction
0
Points
16
Ask lang po sa mga may alam nito, Gusto ko po e display ang specific or related data based sa category, for example: pag ang user nag click sa information technology na category dapat e display nya ang related data about information technology, and dapat sana ma display sya sa same page parin.
 
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.
 

Similar threads

Back
Top