Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data
Pengenalan:
Laravel ialah rangka kerja PHP yang popular sintaks yang ringkas, elegan dan fungsi yang berkuasa, membolehkan pembangun membina aplikasi web yang berkuasa dengan mudah. Antaranya, penyimpanan dan pembacaan data adalah fungsi asas yang mesti ada pada setiap aplikasi web. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Laravel untuk merealisasikan penyimpanan data dan fungsi membaca, dan memberikan contoh kod khusus saya harap ia akan membantu pembelajaran dan pembangunan semua orang.
1. Storan data
.env
dalam direktori akar projek, seperti jenis pangkalan data, nama hos, nama pengguna, kata laluan, dsb. Konfigurasi khusus adalah seperti berikut: 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
Antaranya, DB_CONNECTION
mewakili jenis pangkalan data, DB_HOST
mewakili nama hos bagi pangkalan data, DB_PORT
mewakili nombor port pangkalan data, DB_DATABASE
mewakili nama pangkalan data, DB_USERNAME
mewakili nama pengguna pangkalan data, dan DB_PASSWORD
mewakili kata laluan pangkalan data . Buat pengubahsuaian yang sepadan mengikut situasi sebenar anda.
Buat fail migrasi:
create_users_table
akan dijana dalam direktori database/migrations
. Dalam fail ini, kita boleh menggunakan kelas Skema
untuk mencipta jadual dan mentakrifkan lajur dalam jadual. Contoh kod khusus adalah seperti berikut: #🎜🎜#up
digunakan untuk mencipta jadual dan down digunakan untuk memadam jadual. Struktur jadual tertentu boleh diubah suai mengikut keperluan sebenar. #🎜🎜#pangkalan data/migrasi
dan melaksanakannya. #🎜🎜##🎜🎜##🎜🎜#Definisi model: #🎜🎜#Dalam Laravel, model digunakan untuk berinteraksi dengan jadual pangkalan data dan fail model boleh dijana melalui baris arahan: # 🎜🎜#rrreee# 🎜🎜#Selepas melaksanakan arahan di atas, fail model bernama User
akan dijana dalam direktori app
. Dalam fail ini, kita boleh menentukan hubungan pemetaan dengan jadual pangkalan data, atribut dan kaedah model, untuk menyimpan dan membaca data. Contoh kod khusus adalah seperti berikut: #🎜🎜#$table
mewakili nama jadual pangkalan data yang sepadan dengan model, $fillable Atribut
mewakili medan yang boleh diberikan nilai dalam kelompok Atribut $hidden
mewakili medan tersembunyi Kaedah posts
mentakrifkan perkaitan dengan model Post
. #🎜🎜#User
ialah mula-mula dibuat, dan kemudian melalui sifat Tetapkan sifat objek dengan memberikan nilai, dan akhirnya panggil kaedah save
untuk menyimpan data ke pangkalan data. #🎜🎜##🎜🎜# 2. Bacaan data #🎜🎜##🎜🎜##🎜🎜#Pembina pertanyaan: #🎜🎜#Laravel menyediakan pembina pertanyaan yang berkuasa yang boleh membina pernyataan pertanyaan pangkalan data dengan mudah. Gunakan pembina pertanyaan untuk melaksanakan pertanyaan bersyarat yang kompleks, pengisihan, halaman dan fungsi lain. Contoh kod khusus adalah seperti berikut: rrreee#🎜🎜#Dalam kod di atas, syarat pertanyaan boleh ditetapkan melalui kaedah where
dan peraturan pengisihan boleh ditetapkan melalui kaedah orderBy
, kaedah paginate
boleh merealisasikan halaman, dan secara lalai, 10 keping data akan dipaparkan pada setiap halaman. #🎜🎜#select
digunakan untuk melaksanakan pertanyaan asal dan syarat pertanyaan boleh ditetapkan melalui pengikatan parameter. #🎜🎜#cari
digunakan untuk cari artikel yang sepadan berdasarkan objek Model kunci utama, dan kemudian akses objek yang berkaitan melalui sifat objek model. #🎜🎜##🎜🎜#Kesimpulan: #🎜🎜#Artikel ini memperkenalkan cara menggunakan Laravel untuk melaksanakan fungsi storan dan membaca data, serta memberikan contoh kod khusus. Dalam pembangunan sebenar, anda boleh menggunakan kaedah yang sepadan secara fleksibel untuk melengkapkan penyimpanan dan pembacaan data mengikut keperluan anda sendiri. Saya harap artikel ini akan membantu semua orang dan membolehkan anda memahami dan menguasai fungsi manipulasi data rangka kerja Laravel yang lebih mendalam. #🎜🎜#Atas ialah kandungan terperinci Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!