====== Beispiel für controller und blade-Templates ====== ===== Voraussetzungen für das Beispiel ===== Voraussetzung für die Nutzung dieses Beispiels sind die migrations, models und seeds, die im [[laravel:beispiel|diesem Beispiel]] angelegt wurden. ---- ===== Controller "Register" anlegen===== 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" ) ); } ==== Weitere Beispiele für die Selektion von Datensätzen: ==== **Nur das Bundesland mit der ID "2" ausgeben:** $bundesland = Bundesland::query() -> find( 2 ); **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(); ---- ===== Route "/register" für den neuen Controller erstellen ===== 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'); ---- ===== Blade-Templates ===== 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.
Funktionen werden immer mit dem @-Zeichen angeführt. Variablen stehen immer in doppelten geschweiften Klammern.