Heim >PHP-Framework >Laravel >So verwenden Sie Laravel zum Implementieren von Datenspeicher- und Lesefunktionen
So verwenden Sie Laravel zum Implementieren von Datenspeicher- und Lesefunktionen
Einführung:
Laravel ist ein beliebtes PHP-Framework, das eine einfache, elegante Syntax und leistungsstarke Funktionen bietet, sodass Entwickler problemlos leistungsstarke Webanwendungen erstellen können. Darunter sind das Speichern und Lesen von Daten Grundfunktionen, über die jede Webanwendung verfügen muss. In diesem Artikel wird detailliert beschrieben, wie Sie mit Laravel Datenspeicher- und Lesefunktionen realisieren, und es werden konkrete Codebeispiele aufgeführt. Ich hoffe, dass dies für das Lernen und die Entwicklung aller hilfreich sein wird.
1. Datenspeicherung
.env
im Projektstammverzeichnis festlegen, z. B. Datenbanktyp, Hostname, Benutzername, Passwort usw. Die spezifische Konfiguration ist wie folgt: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=test DB_USERNAME=root DB_PASSWORD=
.env
文件中设置数据库相关的配置项,例如数据库的类型、主机名、用户名、密码等。具体的配置如下:php artisan make:migration create_users_table
其中,DB_CONNECTION
表示数据库的类型,DB_HOST
表示数据库的主机名,DB_PORT
表示数据库的端口号,DB_DATABASE
表示数据库的名称,DB_USERNAME
表示数据库的用户名,DB_PASSWORD
表示数据库的密码。根据自己的实际情况进行相应的修改。
创建迁移文件:
在Laravel中,使用迁移文件来管理数据库的结构变化,可以通过命令行生成迁移文件:
use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } }
执行上述命令后,将会在database/migrations
目录下生成一个名为create_users_table
的迁移文件。在该文件中,我们可以使用Schema
类来创建表,并定义表中的列。具体代码示例如下:
php artisan migrate
上述代码中,up
方法用来创建表,down
方法用来删除表。具体的表结构可以根据实际需求进行修改。
执行迁移:
在创建完迁移文件后,可以使用以下命令来执行迁移,将表结构同步到数据库中:
php artisan make:model User
执行上述命令后,Laravel会自动读取database/migrations
目录下的所有迁移文件,并将其执行。
模型定义:
在Laravel中,模型用来与数据库表进行交互,可以通过命令行生成模型文件:
namespace App; use IlluminateDatabaseEloquentModel; class User extends Model { protected $table = 'users'; protected $fillable = ['name', 'email', 'password']; protected $hidden = ['password']; public function posts() { return $this->hasMany(Post::class); } }
执行上述命令后,将会在app
目录下生成一个名为User
的模型文件。在该文件中,我们可以定义与数据库表的映射关系、模型的属性和方法,从而实现对数据的存储和读取。具体代码示例如下:
$user = new User; $user->name = 'John'; $user->email = 'john@example.com'; $user->password = bcrypt('password'); $user->save();
上述代码中,$table
属性表示与模型对应的数据库表名,$fillable
属性表示可以批量赋值的字段,$hidden
属性表示隐藏的字段,posts
方法定义了与Post
模型的关联关系。
$users = User::where('age', '>', 18) ->orderBy('created_at', 'desc') ->paginate(10);
上述代码中,首先创建了一个User
对象,然后通过属性赋值的方式设置对象的属性,最后调用save
方法将数据保存到数据库中。
二、数据读取
$users = DB::select('select * from users where age > ?', [18]);
上述代码中,通过where
方法可以设置查询条件,orderBy
方法可以设置排序规则,paginate
方法可以实现分页,默认每页显示10条数据。
$user = User::find(1); $posts = $user->posts;
上述代码中,select
方法用来执行原始查询,可以通过参数绑定的方式来设置查询条件。
上述代码中,find
Unter diesen repräsentiert DB_CONNECTION
den Typ der Datenbank, DB_HOST
repräsentiert den Hostnamen der Datenbank, DB_PORT
code> stellt die Portnummer der Datenbank dar, DB_DATABASE
stellt den Namen der Datenbank dar, DB_USERNAME
stellt den Benutzernamen der Datenbank dar und DB_PASSWORD stellt das Passwort der Datenbank dar. Nehmen Sie entsprechend Ihrer tatsächlichen Situation entsprechende Änderungen vor.
Erstellen Sie eine Migrationsdatei:
Schema
verwenden, um eine Tabelle zu erstellen und die Spalten in der Tabelle zu definieren. Das spezifische Codebeispiel lautet wie folgt: 🎜up
zum Erstellen der Tabelle und die Methode down
verwendet >-Methode wird zum Löschen der Tabelle verwendet. Die spezifische Tabellenstruktur kann je nach tatsächlichem Bedarf geändert werden. 🎜database/migrations
abrufen“ und führt sie aus. 🎜🎜🎜Modelldefinition: 🎜In Laravel wird das Modell zur Interaktion mit der Datenbanktabelle verwendet. Die Modelldatei kann über die Befehlszeile generiert werden: 🎜rrreee🎜Nach der Ausführung des obigen Befehls befindet sie sich in appEine Modelldatei mit dem Namen Benutzer
wird im Verzeichnis generiert. In dieser Datei können wir die Zuordnungsbeziehung zur Datenbanktabelle sowie die Attribute und Methoden des Modells definieren, um die Daten zu speichern und zu lesen. Das spezifische Codebeispiel lautet wie folgt: 🎜$table
den Namen der Datenbanktabelle dar, die dem Modell und dem entspricht Das Attribut $fillable
stellt Felder dar, denen stapelweise Werte zugewiesen werden können, das Attribut $hidden
stellt versteckte Felder dar und die Methode posts
definiert die Zuordnung mit dem Post
-Modell. 🎜Benutzer
-Objekt erstellt. und dann durch Attributzuweisung Legen Sie die Eigenschaften des Objekts fest und rufen Sie schließlich die Methode save
auf, um die Daten in der Datenbank zu speichern. 🎜🎜2. Datenlesen🎜🎜🎜Abfrage-Builder: 🎜Laravel bietet einen leistungsstarken Abfrage-Builder, mit dem Datenbankabfrageanweisungen einfach erstellt werden können. Verwenden Sie den Abfrage-Builder, um komplexe bedingte Abfragen, Sortierungen, Paging und andere Funktionen zu implementieren. Spezifische Codebeispiele sind wie folgt: rrreee🎜Im obigen Code können Abfragebedingungen über die Methode where
und Sortierregeln über festgelegt werden orderBy
-Methode. paginate
-Methode kann Paging realisieren. Standardmäßig werden 10 Daten auf jeder Seite angezeigt. 🎜select
verwendet, um die ursprüngliche Abfrage auszuführen, und die Abfragebedingungen können über Parameter festgelegt werden Bindung. 🎜find
verwendet, um die entsprechenden Artikel zu finden Der Zugriff auf das zugehörige Objekt erfolgt dann über die Eigenschaften des Modellobjekts. 🎜🎜Fazit: 🎜Dieser Artikel stellt vor, wie man Laravel zum Implementieren von Datenspeicher- und Lesefunktionen verwendet, und gibt spezifische Codebeispiele. In der tatsächlichen Entwicklung können Sie entsprechende Methoden flexibel verwenden, um die Datenspeicherung und das Lesen entsprechend Ihren eigenen Anforderungen abzuschließen. Ich hoffe, dass dieser Artikel für alle hilfreich ist und Ihnen ein tieferes Verständnis und eine Beherrschung der Datenmanipulationsfunktionen des Laravel-Frameworks ermöglicht. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie Laravel zum Implementieren von Datenspeicher- und Lesefunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!