2017-03-04 4 views
0

Ich habe eine Frage Tabelle, die eine Vielzahl von Fragen der verschiedenen Eingabe-Typen hat. Das Format, in meinem Seeder ist wie soAnzeigen von Formularelementen aus der Datenbank

DB::table('questions')->insert([ 
      'name' => 'name', 
      'type' => 'text', 
      'text' => 'Name', 
]); 

DB::table('questions')->insert([ 
      'name' => 'title', 
      'type' => 'select', 
      'text' => 'Title', 
      'values' => serialize(['Mr', 'Mrs', 'Ms']), 
      'class' => 'selectpicker' 
]); 

So können Sie die oben sehen, ich habe eine Texteingabe und eine Auswahl, die Liste der Werte serialisiert hat. Jetzt in meinem Controller bekomme ich die Fragen und gebe sie meiner Ansicht nach.

Innerhalb meiner Sicht Ich tue so etwas wie die folgenden

@foreach($questions as $q) 
    <div class="col-xs-12"> 
     <input type="{{ $q["type"] }}" 
       class="form-control {{ $q["class"] }}" 
       id="{{ $q["name"] }}" 
       name="questions[{{ $q["id"] }}]" 
     > 
    </div> 
@endforeach 

Wo Ich habe Schwierigkeiten mit den Auswahleingängen. Wie würde ich meine Selects zusammen mit ihren Optionen (Werten) anzeigen?

Dank

+0

Es ist ein wirklich schlechtes Design, sollten Sie öfter als nicht, trennen Sie Ihre HTML-Einträge aus der Datenbank. – Drazxier

+0

Wenn es sich um eine extrem große Form handelt, ist es nicht sinnvoll, die Fragen in der Datenbank zu speichern? Das Formular enthält mehr als 100 Felder in mehreren Schritten. –

Antwort

1

eine Liste erstellen Sie die Art der $q in Ihrem foreach überprüfen können. Der Code in Ihrer Schleife würde wie folgt aussehen:

Verwandte Themen