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

Cara menggunakan Laravel untuk melaksanakan fungsi penyimpanan dan membaca data

WBOY
WBOYasal
2023-11-04 15:03:28761semak imbas

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

其中,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');
        }
    }

    执行上述命令后,将会在database/migrations目录下生成一个名为create_users_table的迁移文件。在该文件中,我们可以使用Schema类来创建表,并定义表中的列。具体代码示例如下:

php artisan migrate

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

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

    php artisan make:model User

    执行上述命令后,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);
        }
    }

    执行上述命令后,将会在app目录下生成一个名为User的模型文件。在该文件中,我们可以定义与数据库表的映射关系、模型的属性和方法,从而实现对数据的存储和读取。具体代码示例如下:

$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->password = bcrypt('password');
$user->save();

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

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

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

二、数据读取

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

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

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

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