


Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data
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
- Konfigurasi pangkalan data:
Pertama, kita perlu mengkonfigurasi pangkalan data. Dalam Laravel, anda boleh menetapkan item konfigurasi berkaitan pangkalan data dalam fail.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'); } }
Salin selepas log masuk执行上述命令后,将会在
database/migrations
目录下生成一个名为create_users_table
的迁移文件。在该文件中,我们可以使用Schema
类来创建表,并定义表中的列。具体代码示例如下:
php artisan migrate
上述代码中,up
方法用来创建表,down
方法用来删除表。具体的表结构可以根据实际需求进行修改。
执行迁移:
在创建完迁移文件后,可以使用以下命令来执行迁移,将表结构同步到数据库中:php artisan make:model User
Salin selepas log masuk执行上述命令后,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); } }
Salin selepas log masuk执行上述命令后,将会在
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
方法将数据保存到数据库中。
二、数据读取
- 查询构造器:
Laravel提供了强大的查询构造器,可以方便地构建数据库查询语句。使用查询构造器可以实现复杂的条件查询、排序、分页等功能。具体代码示例如下:
$users = DB::select('select * from users where age > ?', [18]);
上述代码中,通过where
方法可以设置查询条件,orderBy
方法可以设置排序规则,paginate
方法可以实现分页,默认每页显示10条数据。
- 原始查询:
除了使用查询构造器,还可以使用原始查询语句来操作数据库。使用原始查询可以更加灵活地操作数据库,但需要注意安全性。具体代码示例如下:
$user = User::find(1); $posts = $user->posts;
上述代码中,select
方法用来执行原始查询,可以通过参数绑定的方式来设置查询条件。
- 模型关联查询:
在Laravel中,还可以使用模型关联查询来实现更加复杂的数据读取操作。例如,要获取某个用户发表的所有文章,可以使用以下代码:
上述代码中,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. #🎜🎜#- #🎜🎜##🎜🎜#Melaksanakan migrasi: #🎜🎜#Selepas mencipta fail migrasi, anda boleh menggunakan arahan berikut untuk melaksanakan migrasi dan menyegerakkan struktur jadual ke pangkalan data: #🎜🎜#rrreee#🎜🎜#Selepas melaksanakan arahan di atas, Laravel akan membaca semua fail pemindahan secara automatik dalam direktori
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
. #🎜🎜#- #🎜🎜#Storan data: #🎜🎜#Selepas mencipta model, anda boleh menggunakan kelas model untuk menyimpan data. Contohnya, untuk menambah sekeping data pengguna pada pangkalan data, anda boleh menggunakan kod berikut:
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. #🎜🎜#- #🎜🎜#Pertanyaan asal: #🎜🎜#Selain menggunakan pembina pertanyaan, anda juga boleh menggunakan pernyataan pertanyaan asal untuk mengendalikan pangkalan data. Menggunakan pertanyaan mentah membolehkan anda mengendalikan pangkalan data dengan lebih fleksibel, tetapi anda perlu memberi perhatian kepada keselamatan. Contoh kod khusus adalah seperti berikut:
select
digunakan untuk melaksanakan pertanyaan asal dan syarat pertanyaan boleh ditetapkan melalui pengikatan parameter. #🎜🎜#- #🎜🎜#Pertanyaan korelasi model: #🎜🎜#Dalam Laravel, anda juga boleh menggunakan pertanyaan korelasi model untuk melaksanakan operasi membaca data yang lebih kompleks. Contohnya, untuk mendapatkan semua artikel diterbitkan oleh pengguna, anda boleh menggunakan kod berikut:
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Operasi pangkalan data dalam PHP dipermudahkan menggunakan ORM, yang memetakan objek ke dalam pangkalan data hubungan. EloquentORM dalam Laravel membolehkan anda berinteraksi dengan pangkalan data menggunakan sintaks berorientasikan objek Anda boleh menggunakan ORM dengan mentakrifkan kelas model, menggunakan kaedah Eloquent atau membina sistem blog dalam amalan.

Versi terkini Laravel 9 dan CodeIgniter 4 menyediakan ciri dan penambahbaikan yang dikemas kini. Laravel9 menggunakan seni bina MVC dan menyediakan fungsi seperti migrasi pangkalan data, pengesahan dan enjin templat. CodeIgniter4 menggunakan seni bina HMVC untuk menyediakan penghalaan, ORM dan caching. Dari segi prestasi, corak reka bentuk berasaskan pembekal perkhidmatan Laravel9 dan rangka kerja ringan CodeIgniter4 memberikannya prestasi cemerlang. Dalam aplikasi praktikal, Laravel9 sesuai untuk projek kompleks yang memerlukan fleksibiliti dan fungsi berkuasa, manakala CodeIgniter4 sesuai untuk pembangunan pesat dan aplikasi kecil.

Laravel - Perintah Artisan - Laravel 5.7 hadir dengan cara baharu untuk merawat dan menguji arahan baharu. Ia termasuk ciri baharu untuk menguji arahan artisan dan demonstrasi disebut di bawah?

Bandingkan keupayaan pemprosesan data Laravel dan CodeIgniter: ORM: Laravel menggunakan EloquentORM, yang menyediakan pemetaan hubungan kelas-objek, manakala CodeIgniter menggunakan ActiveRecord untuk mewakili model pangkalan data sebagai subkelas kelas PHP. Pembina pertanyaan: Laravel mempunyai API pertanyaan berantai yang fleksibel, manakala pembina pertanyaan CodeIgniter lebih ringkas dan berasaskan tatasusunan. Pengesahan data: Laravel menyediakan kelas Pengesah yang menyokong peraturan pengesahan tersuai, manakala CodeIgniter mempunyai kurang fungsi pengesahan terbina dalam dan memerlukan pengekodan manual peraturan tersuai. Kes praktikal: Contoh pendaftaran pengguna menunjukkan Lar

Untuk pemula, CodeIgniter mempunyai keluk pembelajaran yang lebih lembut dan ciri yang lebih sedikit, tetapi meliputi keperluan asas. Laravel menawarkan set ciri yang lebih luas tetapi mempunyai keluk pembelajaran yang lebih curam. Dari segi prestasi, kedua-dua Laravel dan CodeIgniter berprestasi baik. Laravel mempunyai dokumentasi yang lebih luas dan sokongan komuniti yang aktif, manakala CodeIgniter lebih ringkas, ringan dan mempunyai ciri keselamatan yang kukuh. Dalam kes praktikal membina aplikasi blog, EloquentORM Laravel memudahkan manipulasi data, manakala CodeIgniter memerlukan lebih banyak konfigurasi manual.

Apabila memilih rangka kerja untuk projek besar, Laravel dan CodeIgniter masing-masing mempunyai kelebihan mereka sendiri. Laravel direka untuk aplikasi peringkat perusahaan, menawarkan reka bentuk modular, suntikan pergantungan dan set ciri yang berkuasa. CodeIgniter ialah rangka kerja ringan yang lebih sesuai untuk projek kecil hingga sederhana, menekankan kelajuan dan kemudahan penggunaan. Untuk projek besar dengan keperluan yang kompleks dan bilangan pengguna yang ramai, kuasa dan kebolehskalaan Laravel adalah lebih sesuai. Untuk projek atau situasi mudah dengan sumber terhad, keupayaan pembangunan CodeIgniter yang ringan dan pantas adalah lebih ideal.

Untuk projek kecil, Laravel sesuai untuk projek yang lebih besar yang memerlukan fungsi dan keselamatan yang kukuh. CodeIgniter sesuai untuk projek yang sangat kecil yang memerlukan ringan dan mudah digunakan.

Seni bina perkhidmatan mikro menggunakan rangka kerja PHP (seperti Symfony dan Laravel) untuk melaksanakan perkhidmatan mikro dan mengikut prinsip RESTful dan format data standard untuk mereka bentuk API. Perkhidmatan mikro berkomunikasi melalui baris gilir mesej, permintaan HTTP atau gRPC dan menggunakan alatan seperti Prometheus dan ELKStack untuk pemantauan dan penyelesaian masalah.
