Dies ist eine alte Version des Dokuments!
In diesem Beispiel soll der User bei der Registrierung ein Bundesland auswählen. Für die Registrierung unser User erstellen wir einen RegisterController:
php artisan make:controller RegisterController
Die im Verzeichnis app\Http\Controllers„ von artisan angelegte Datei „RegisterController.php“ ergänzen wir um eine Methode.In dieser Methode benutzen wir das Model „Bundesland“, welches wir im vorherigen Beispiel angelegt haben.
public function index() { $bundeslaender = Bundesland::all( array( 'id', 'Bundesland' ) ); return view( 'register', compact( "bundeslaender" ) ); }
Nur die ersten 10 Bundesländer ausgeben:
$bundeslaender = Bundesland::all() -> take( 10 );
Liste umgekehrt sortieren:
$bundeslaender = Bundesland::all() -> sortByDesc( 'id' );
Nur alle Bundesländer ausgeben, die mit dem Buchstaben „B“ beginnen:
$bundeslaender = Bundesland::query() -> where( 'Bundesland', 'LIKE', 'B%' ) -> get();
Blade ist eine Template-Engine vom PHP-Webframework Laravel. Alle Blade-Templates haben die Dateiendung “.blade.php„.
Als nächstes erstellen wir das Blade-Template „register.blade.php“, welches wir oben im Controller aufgerufen haben und geben hier die Bundesländer als Auswahlliste aus.
<div class="row justify-content-center"> <div class="col-md-2"><label for="Bundesland">Bundesland: </label></div> <div class="col-md-10"> <select name="Bundesland" id="Bundesland" class="custom-select" > @foreach( $bundeslaender as $bundesland ) <option value="{{ $bundesland->ID }}">{{ $bundesland->Bundesland }}</option> @endforeach </select> </div> </div>
Funktionen werden immer mit dem @-Zeichen angeführt. Variablen stehen immer in doppelten geschweiften Klammern laravel.
Damit die neue Seite über die URL …“/register„ auch erreichbar ist fehlt jetzt noch die entsprechende Route in der „routes/web.php“:
Route::get('/register', 'RegisterController@index');