Ankündigung

Einklappen
Keine Ankündigung bisher.

Laravel - Formulardaten speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Laravel - Formulardaten speichern

    Hallo,

    ich möchte ein eigenes Projekt mit Laravel umsetzen und stoße auf die ersten Probleme.
    Ich habe einen Controller. Der heißt PlayerController. Hier gibt es eine Funktion:
    PHP-Code:
    public function store() 
    In der Funktion werden Daten aus einem Formular abgespeichert.
    Beispiel:
    PHP-Code:
    ...
    $this->player->vorname         Input::get('vorname');
    $this->player->nachname          Input::get('nachname');
    $this->player->geburtsdatum    Input::get('geburtsdatum');
    $this->player->handy         Input::get('handy');
    $this->player->save();
    ... 
    Das funktioniert soweit alles prima. Allerdings frage ich mich ob das alles etwas in einem Controller verloren hat. Müsste ich das Speichern in eine andere Klasse auslagern? Kann ich das ins Model auslagern? Oder wie löse ich das am Besten?

    Gruß
    HP

  • #2
    Worauf zeigt denn $this->player? Ist das nicht dein (Eloquent-)Model?

    Aber ja, idealerweise delegiert der Controller das Speichern davor noch an ein Business-Objekt. Dort kannst du dann auch den Input validieren.

    Kommentar


    • #3
      Setz im Model das $fillable-Attribut und mach dann Player::create(Input::all())

      Kommentar


      • #4
        Zitat von Tropi Beitrag anzeigen
        Worauf zeigt denn $this->player? Ist das nicht dein (Eloquent-)Model?

        Aber ja, idealerweise delegiert der Controller das Speichern davor noch an ein Business-Objekt. Dort kannst du dann auch den Input validieren.
        Kannst Du mir erklären was ein Business-Objekt ist?

        $this->player zeigt auf das Player-Model. Im Constructor habe ich ein
        Objekt erzeugt.

        Kommentar


        • #5
          Zitat von kaptainIglo Beitrag anzeigen
          Kannst Du mir erklären was ein Business-Objekt ist?
          Business Logic, Geschäftslogik, nehm ich mal an.

          Kommentar


          • #6
            Sehe ich das richtig, dass das eigentlich mein Model wäre?
            (Klasse Player).

            Kommentar


            • #7
              Du solltest Model mehr als Schicht denn als Klasse/Objekt sehen. Du könntest z.B. das Geschäftsobjekt BusinessPlayer haben welches die Methode vereinWechseln($neuerVerein) kennt. Das ist tatsächlich Geschäftslogik, und hat mit deiner Anwendung zu tun. In der Methode vereinWechseln() kannst du dann das Daten-Objekt (z.B. Eloquent) Model verwenden um den Verein zu wechseln (vermutlich irgendeine Art UPDATE-Befehl). Das hier nur als kurzes Beispiel, es gibt sicher ausführliche Erklärungen zu diesem Thema, kannst dir ja mal Bücher zu Softwareentwicklung ansehen, insbesondere MVC.

              Kommentar


              • #8
                @Tropi
                Vielen Dank. So ganz klar ist mir das noch nicht. Gibt es überhaupt gute Bücher in denen Einsteigern das Thema verständlich und praxisnah rübergebracht wird?

                Kommentar


                • #9
                  In der Laracasts-Serie Diggin In gibt es einen ganz guten Einstieg und ist sogar noch direkt auf Laravel bezogen. Nachteil: Du brauchst ein Abo damit du es sehen kannst. (Zumindest auf legalem Wege.)

                  Kommentar

                  Lädt...
                  X