Rumah rangka kerja php Laravel Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data

Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data

Nov 04, 2023 pm 03:03 PM
laravel penyimpanan data Pembacaan data

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

  1. 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=
Salin selepas log masuk
.env文件中设置数据库相关的配置项,例如数据库的类型、主机名、用户名、密码等。具体的配置如下:
php artisan make:migration create_users_table
Salin selepas log masuk

其中,DB_CONNECTION表示数据库的类型,DB_HOST表示数据库的主机名,DB_PORT表示数据库的端口号,DB_DATABASE表示数据库的名称,DB_USERNAME表示数据库的用户名,DB_PASSWORD表示数据库的密码。根据自己的实际情况进行相应的修改。

  1. 创建迁移文件:
    在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
Salin selepas log masuk

上述代码中,up方法用来创建表,down方法用来删除表。具体的表结构可以根据实际需求进行修改。

  1. 执行迁移:
    在创建完迁移文件后,可以使用以下命令来执行迁移,将表结构同步到数据库中:

    php artisan make:model User
    Salin selepas log masuk

    执行上述命令后,Laravel会自动读取database/migrations目录下的所有迁移文件,并将其执行。

  2. 模型定义:
    在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();
Salin selepas log masuk

上述代码中,$table属性表示与模型对应的数据库表名,$fillable属性表示可以批量赋值的字段,$hidden属性表示隐藏的字段,posts方法定义了与Post模型的关联关系。

  1. 数据存储:
    在创建了模型后,就可以使用模型类来进行数据的存储。例如,要添加一条用户数据到数据库中,可以使用以下代码:
$users = User::where('age', '>', 18)
       ->orderBy('created_at', 'desc')
       ->paginate(10);
Salin selepas log masuk

上述代码中,首先创建了一个User对象,然后通过属性赋值的方式设置对象的属性,最后调用save方法将数据保存到数据库中。

二、数据读取

  1. 查询构造器:
    Laravel提供了强大的查询构造器,可以方便地构建数据库查询语句。使用查询构造器可以实现复杂的条件查询、排序、分页等功能。具体代码示例如下:
$users = DB::select('select * from users where age > ?', [18]);
Salin selepas log masuk

上述代码中,通过where方法可以设置查询条件,orderBy方法可以设置排序规则,paginate方法可以实现分页,默认每页显示10条数据。

  1. 原始查询:
    除了使用查询构造器,还可以使用原始查询语句来操作数据库。使用原始查询可以更加灵活地操作数据库,但需要注意安全性。具体代码示例如下:
$user = User::find(1);
$posts = $user->posts;
Salin selepas log masuk

上述代码中,select方法用来执行原始查询,可以通过参数绑定的方式来设置查询条件。

  1. 模型关联查询:
    在Laravel中,还可以使用模型关联查询来实现更加复杂的数据读取操作。例如,要获取某个用户发表的所有文章,可以使用以下代码:
rrreee

上述代码中,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:

    Dalam Laravel, gunakan fail migrasi untuk mengurus perubahan struktur dalam pangkalan data Anda boleh menjana fail migrasi melalui baris arahan: #🎜🎜#rrreee#🎜🎜#Selepas melaksanakan arahan di atas, fail migrasi bernama 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: #🎜🎜#
rrreee#🎜🎜#Dalam kod di atas, kaedah 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: #🎜🎜#
rrreee#🎜🎜#Dalam kod di atas, atribut $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:
rrreee#🎜🎜#Dalam kod di atas, objek 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:
rrreee#🎜🎜#Dalam kod di atas, kaedah 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:
rrreee#🎜🎜#Dalam kod di atas, kaedah 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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? May 07, 2024 am 08:39 AM

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.

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

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 - Perintah Artisan Aug 27, 2024 am 10:51 AM

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?

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Jun 01, 2024 pm 01:34 PM

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

Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Mana satu yang lebih mesra pemula, Laravel atau CodeIgniter? Jun 05, 2024 pm 07:50 PM

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.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Jun 04, 2024 am 09:09 AM

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.

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek kecil? Jun 04, 2024 pm 05:29 PM

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.

Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise Soalan dan Jawapan mengenai Reka Bentuk Seni Bina Perkhidmatan Mikro Aplikasi PHP Enterprise May 07, 2024 am 09:36 AM

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.

See all articles