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>