Skip to main content

Producten toevoegen in jouw database


Nu heb je producten hard-coded toegevoegd. Natuurlijk wil je dat deze producten vanuit de database komen. Daarom gaan we aan de slag om de productdetails die je nu op de productpagina hebt gemaakt, in de database te gaan stoppen.

Product migration en model maken

Om jouw producten in de database te hebben, moet je eerst een tabel maken en die linken aan jouw Laravel project (met model)

Wat zijn migration en models ook alweer?

Migrations: is een 'blauwprint' van jouw tabel. Je geeft aan welke kolommen de tabel heeft en welke datatypes. Vervolgens migreer je het blauwprint in de database. Zo wordt er dan automatisch een tabel gemaakt!

Models: is de 'M' van het MVC model. Models zijn verantwoordelijk voor de link tussen het project en de database (dus niet de migrations! Die regelt alleen de blauwprinten). Zo kan je bijvoorbeeld dan in de controller een model aanroepen om data op te halen uit de database.

Opdracht: een migration en model maken

Laten we beginnen door eerst een migration aan te maken via de console. Hier een stappenlijst:

  1. Maak een migration aan via de terminal met de naam create_products_table
  2. Open de migrationfile en bedenk welke kolommen nodig zijn voor jouw tabel. Kijk wat je op jouw productpagina hebt. Hier alvast een aantal:
    • id
    • title
    • price
  3. Voeg deze kolommen toe in jouw migration file
  4. Voer de migration uit via de terminal. Mocht je al de tabel hebben, dan moet je het refreshen
  5. Check in jouw PHPMyAdmin of jouw tabel is toegevoegd
  6. Maak een model via de terminal. Noem de file Product
  7. Open de model file en voeg de kolomnamen in de model toe van de tabel
  8. Voeg in PHPMyAdmin jouw producten toe in de tabel.

Weet je niet wat de commando's zijn voor het aanmaken van een migration of model? Check dan even Laravel Level 1: Migration en Models!

Wat lever je in?
  • Een screenshot van jouw migration file
  • Een screenshot van jouw models file
  • Een screenshot van jouw gemigreerde tabel in PHPMyAdmin