Skip to main content

Mandje maken

Inleiding

We gaan ons boodschappenmandje maken.

De koppeling maken we later. We maken eerst net zoals we onze product controller en view hebben gemaakt in Laravel L1 een mandje.

Stappen

Weet je nog welke stappen we moeten uitvoeren?

php artisan make:migration create_product_table --create=product

Dit commando maakt een file. Deze staat in database/migrations/

Open de net gemaakte file en plaats deze code.

public function up()
{
	Schema::create('mandje', function (Blueprint $table) {
		$table->increments('id');
		$table->integer('product_id');
        $table->integer('number');
		$table->timestamps();
	});
}

We hebben in het mandje een productnummer staan. Deze verwijst naar de product-tabel en is de Foreign Key (FK).

We doen even alsof we maar één gebruiker hebben. In werkelijkheid is dat anders en heeft een mandje ook een username (zeg maar een koppeling naar de geregistreerde gebruiker). Maar we kunnen niet alles tegelijk maken dus we beginnen eenvoudig en doen even net alsof er maar één gebruiker is.

Met het commando

php artisan migrate

Maken we de tabel aan. Controller dit!

Nu maken we een Model aan.

php artisan make:model Mandje

Nadat je een model hebt aangemaakt kun je dit vinden in de map app/Models

In het model hoeven we alleen maar de tabelnaam te specificeren.

class Product extends Model

{
    protected $table = 'product';
    use HasFactory;
}

We maken de controller aan met:

php artisan make:controller ProductController

En in de controller zetten we de volgende method/function

public function read() {
    $intems = \App\Models\Mandje::all();
    return view('mandje-read', ['items' => $items]);
}

We maken in de views folder een nieuw bestand mandje-read.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <?php dd($products); ?>
</body>
</html>