Laravel kezdőknek - 7. rész - Adatok megjelenítése MySQL-ből | Model, Co...


Forráskód:
Model létrehozása
php artisan make:model Kutya -m

Migráció szerkesztése
database/migrations/...create_kutyas_table.php:
public function up()
{
    Schema::create('kutyas', function (Blueprint $table) {
        $table->id();
        $table->string('nev');
        $table->integer('eletkor');
        $table->string('fajta');
        $table->timestamps();
    });
}
Majd futtasd:
php artisan migrate


Dummy adatok Seederrel
Készíts egy seeder-t:
php artisan make:seeder KutyaSeeder

Nyisd meg database/seeders/KutyaSeeder.php és írd:
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\Models\Kutya;

class KutyaSeeder extends Seeder
{
    public function run(): void
    {
        Kutya::create(['nev' => 'Bodri', 'eletkor' => 5, 'fajta' => 'Puli']);
        Kutya::create(['nev' => 'Frakk', 'eletkor' => 3, 'fajta' => 'Vizsla']);
        Kutya::create(['nev' => 'Lassie', 'eletkor' => 7, 'fajta' => 'Collie']);
    }
}

Futtasd a seed-et:
php artisan db:seed --class=KutyaSeeder

Modell beállítása
app/Models/Kutya.php:
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Kutya extends Model
{
    use HasFactory;

    // Engedélyezzük a tömeges hozzárendelést
    protected $fillable = ['nev', 'eletkor', 'fajta'];
}

Controller frissítése
app/Http/Controllers/HomeController.php:
use App\Models\Kutya;

public function kutyak() {
    $kutyak = Kutya::all();
    return view('kutyak', compact('kutyak'));
}

Route hozzáadása
routes/web.php:

Route::get('/kutyak', [HomeController::class, 'kutyak'])->name('kutyak');

View létrehozása

resources/views/kutyak.blade.php:
@extends('layouts.app')
@section('title', 'Kutyák listája')

@section('content')
<h1>Kutyák listája</h1>

<table border="1">
    <tr>
        <th>Név</th>
        <th>Életkor</th>
        <th>Fajta</th>
    </tr>
    @foreach($kutyak as $kutya)
        <tr>
            <td>{{ $kutya->nev }}</td>
            <td>{{ $kutya->eletkor }}</td>
            <td>{{ $kutya->fajta }}</td>
        </tr>
    @endforeach
</table>
@endsection

+ link felvétele a layouts
<a href="/kutyak">Kutyák</a>