Laravel 5.6 Erstellen von SEEDS

  • Tach,


    ich beschäftige mich gerade mit Laravel und habe vorhin mit dem Kapital "migrations" abgeschlossen und verstanden. Jetzt bin ich bei Seeds und möchte dementsprechend fake Daten in die DB einfügen, um damit im nachhinein gewisse Tests durchzuführen.


    Ich fange mit DatabaseSeeder.php an:

    Der soll in die Datei OfficeSeeder.php


    Mein OfficeSeeder.php sieht aktuell so aus:

    Das habe ich erstellt, in dem ich im Terminal
    php artisan make:seed OfficeSeeder


    eingegeben habe. Nun habe ich keine Ahnung was ich weiter machen soll, möchte halt Fakedaten in meiner Office Tabelle reintun, aber verstehe das ganze Prinzip nicht auch nicht mit den Factory usw. Hat jemand eine gute Seite oder Lust es zu erklären, wie die Denkweise dahinter ist?


    ps. Ich habe schon recherchiert kommt aber nicht in meine Birne :D


    MfG

  • Habe jetzt das Grundprinzip verstanden von SEEDS. Ich möchte in eine Datenbank mit Fakes Daten einfügen.(Factorys)
    Dabei habe ich 3 Spalten, die ich setzen möchte:


    Stadt, Stadtkürzel & PLZ


    Mithilfe von Fakes setze ich alle Städte und das einmalig, weil man ->unique() dahinter schreiben kann. Allerdings möchte ich Stadtkürzel, wie z. B. B (für Berlin) auch einmalig haben. Dafür habe ich folgendes gebaut gebaut:



    Also ganz kurz zusammengefasst. Ich habe eine Tabelle mit 3 Spalten. Wir beschäftigen uns jetzt aber nur mit 2, nämlich: Stadt und Stadtkürzel. Ich gebe per fake sämtliche Städte aus(bspw. 10) und mit substr() hol ich mir den ersten buchstaben raus. Allerdings wenn Berlin & Bochum kommt, dann kommt es zu SQL Fehler, da ich die Spalte unique gesetzt habe. Also bei Stadtkürzel würde dann 2x b erscheinen. Deswegen möchte ich gerne mit einer Abfrage in der While Schleife checken, ob der Kürzel schon existent ist, wenn es der Fall ist, dann soll er den kürzel um ein Buchstaben mehr anzeigen. In dem Fall: B (für Berlin) Bo (für Bochum)


    Für Leute, die sich mit Laravel & Models auskennen.


    Danke im Voraus,
    DrSkio