Laravel ist ein beliebtes PHP-Framework, das praktische Tools und Funktionen bietet, um Entwicklern beim schnellen Erstellen von Webanwendungen zu helfen. Eine der Grundfunktionen besteht darin, Tabellen zum Hinzufügen, Löschen, Ändern und Abfragen von Daten zu verwenden. In diesem Artikel wird erläutert, wie diese Funktionen in Laravel implementiert werden.
Zuerst müssen wir eine Datenbank und eine Datentabelle zum Speichern von Daten erstellen. In diesem Artikel erstellen wir eine Tabelle mit dem Namen „Benutzer“, die die folgenden Felder enthält: ID, Name, E-Mail und Passwort.
Wir können Tabellen mithilfe von Migrationen in Laravel erstellen. Führen Sie den folgenden Befehl in der Befehlszeile aus:
php artisan make:migration create_users_table --create=users
Nach der Ausführung dieses Befehls erstellt Laravel eine neue Migrationsdatei im Verzeichnis „database/migrations“. Wir können die Klasse „Schema“ in der Migrationsdatei verwenden, um die Tabellenstruktur zu definieren. Der Code lautet wie folgt:
use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
Der obige Code erstellt eine Tabelle mit dem Namen „Benutzer“, die die Felder „ID“, „Name“, „E-Mail“, „Passwort“ und „Zeitstempel“ enthält.
Wenn wir die Migration ausführen, erstellt Laravel die Tabelle in der Datenbank. Führen Sie zum Migrieren den folgenden Befehl aus:
php artisan migrate
Um Datensätze zur Tabelle hinzuzufügen, müssen wir einen Controller erstellen und ein Modell verwenden, um die Daten in der Datenbank zu speichern. Führen Sie den folgenden Befehl in der Befehlszeile aus:
php artisan make:controller UserController
Dieser Befehl erstellt einen neuen „UserController“-Controller im Verzeichnis „app/Http/Controllers“.
In der Controller-Datei können wir die Methode „create“ verwenden, um den neuen Datensatz zu speichern. Hier ist der Beispielcode:
use AppUser; use IlluminateHttpRequest; class UserController extends Controller { public function store(Request $request) { $user = User::create([ 'name' => $request->input('name'), 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')), ]); return response()->json([ 'message' => 'User created successfully', 'user' => $user, ]); } }
Im obigen Code importieren wir zunächst das „User“-Modell und verwenden dann die „create“-Methode in der „store“-Methode, um einen neuen Datensatz zu erstellen. Wir verwenden die Felder „Name“, „E-Mail“ und „Passwort“ aus der Anfrage als Parameter und verschlüsseln das Passwort mit der Funktion „bcrypt“. Abschließend geben wir eine JSON-Antwort zurück, die den erstellten Benutzerdatensatz enthält.
Wir können einen Controller verwenden, um alle Datensätze in der Tabelle abzurufen und sie an den Benutzer zurückzugeben. Fügen Sie den folgenden Code in Ihren Controller ein:
public function index() { $users = User::all(); return view('users.index', ['users' => $users]); }
Der obige Code ruft alle Datensätze in der Benutzertabelle mithilfe der „all“-Methode ab und übergibt die Ergebnisse an die Ansicht. Wir können diese Daten in der Ansicht verwenden, um die HTML-Tabelle zu rendern.
Ähnlich wie beim Erstellen eines Datensatzes können wir Modelle und Controller verwenden, um Datensätze zu aktualisieren. Hier ist ein Beispiel für die „Update“-Methode:
public function update(Request $request, $id) { $user = User::find($id); $user->name = $request->input('name'); $user->email = $request->input('email'); if ($request->input('password')) { $user->password = bcrypt($request->input('password')); } $user->save(); return response()->json([ 'message' => 'User updated successfully', 'user' => $user, ]); }
Im obigen Code verwenden wir zunächst die „find“-Methode, um den Benutzerdatensatz mit der angegebenen ID abzurufen. Anschließend verwenden wir die Felder „Name“ und „E-Mail“ aus der Anfrage als Attributwerte, um den Datensatz zu aktualisieren. Wenn die Anfrage ein „Passwort“-Feld enthält, wird sie mit der „bcrypt“-Funktion verschlüsselt und der Benutzerdatensatz aktualisiert. Abschließend speichern wir den Datensatz mit der Methode „save“ und geben den aktualisierten Benutzerdatensatz als JSON-Antwort zurück.
Wir können Controller und Modelle verwenden, um Benutzerdatensätze zu löschen. Hier ist ein Beispiel für die Methode „destroy“:
public function destroy($id) { $user = User::find($id); $user->delete(); return response()->json([ 'message' => 'User deleted successfully', ]); }
Im obigen Code verwenden wir zunächst die Methode „find“, um den Benutzerdatensatz mit der angegebenen ID abzurufen. Wir können dann andere Vorgänge für den Datensatz ausführen, bevor wir ihn mit der Methode „delete“ löschen. Abschließend geben wir eine JSON-Antwort zurück, die Informationen über den gelöschten Benutzer enthält.
Für den Fall, dass alle Benutzerdatensätze aufgelistet werden, können wir eine Ansicht verwenden, um eine HTML-Tabelle darzustellen. Hier ist ein Beispiel-Ansichtscode:
<table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Action</th> </tr> </thead> <tbody> @foreach ($users as $user) <tr> <td>{{ $user->id }}</td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> <td> <a href="{{ route('users.edit', $user->id) }}">Edit</a> <form action="{{ route('users.destroy', $user->id) }}" method="POST"> {{ csrf_field() }} {{ method_field('DELETE') }} <button type="submit">Delete</button> </form> </td> </tr> @endforeach </tbody> </table>
Im obigen Code verwenden wir die „@foreach“-Direktive, um alle Benutzerdatensätze zu durchlaufen und ihre ID, ihren Namen und ihre E-Mail-Adresse in einer HTML-Tabelle anzuzeigen. Darüber hinaus haben wir zwei Aktionsspalten hinzugefügt: Bearbeiten und Löschen. Zum Löschen verwenden wir ein Formular, um die DELETE-Anfrage zu senden und das CSRF-Token mithilfe der Direktive „csrf_field“ hinzuzufügen. Für die Bearbeitung definieren wir separate Ansichten und Controller in Routen.
In diesem Artikel haben wir vorgestellt, wie man Modelle und Controller in Laravel verwendet, um grundlegende Operationen zum Hinzufügen, Löschen, Ändern und Abfragen von Tabellen durchzuführen. Während in einem echten Projekt möglicherweise mehr Funktionen und Details enthalten sind, bietet dieser Artikel einen Ausgangspunkt, der Ihnen den Einstieg in die Verwendung von Laravel für die Verarbeitung von Tabellenoperationen für Ihre Webanwendungen erleichtert.
Das obige ist der detaillierte Inhalt vonHinzufügen, Löschen, Ändern und Abfragen von Laravel-Tabellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!