Benutzer-Werkzeuge

Webseiten-Werkzeuge


laravel:beispiel_controller_blade

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 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.

<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/beispiel_controller_blade.txt · Zuletzt geändert: 2019/09/29 15:53 von webproducer