Rumah  >  Artikel  >  rangka kerja php  >  Penjelasan terperinci tentang prinsip pelaksanaan ORM dalam laravel

Penjelasan terperinci tentang prinsip pelaksanaan ORM dalam laravel

PHPz
PHPzasal
2023-04-03 18:52:25961semak imbas

Laravel ialah rangka kerja PHP yang digunakan secara meluas dan diiktiraf. Ia menyediakan banyak ciri berguna, daripada akses pangkalan data kepada penghalaan dan pengawal. Antaranya, ORM (Object-Relational Mapping) ialah komponen penting dalam Laravel Ia menyediakan cara yang mudah untuk mengendalikan pangkalan data dan menjadikan kod anda lebih jelas dan mudah difahami. Dalam artikel ini, kita akan melihat secara mendalam prinsip pelaksanaan Laravel ORM.

Apakah itu ORM?

Pertama, mari kita perkenalkan secara ringkas ORM. ORM ialah teknologi yang mewujudkan pemetaan antara pengaturcaraan berorientasikan objek (OOP) dan pangkalan data hubungan. Dalam ORM, setiap jadual sepadan dengan kelas dan setiap baris sepadan dengan objek. Dengan cara ini, operasi pangkalan data boleh dipermudahkan melalui objek, menjadikan kod lebih jelas dan lebih mudah difahami. Faedah ORM ialah ia membolehkan anda mengakses pangkalan data dengan cara yang lebih semula jadi dan bukannya menggunakan pernyataan SQL. Oleh itu, ORM sangat penting dalam Laravel, ia membolehkan kami membenarkan PHP berinteraksi dengan pangkalan data, dengan itu menulis kod dengan lebih pantas dan lebih dipercayai.

Prinsip pelaksanaan ORM Laravel

Pelaksanaan ORM Laravel adalah berdasarkan corak reka bentuk Active Record. Dalam Rekod Aktif, kelas sepadan dengan jadual, dan contoh kelas ini sepadan dengan baris. Laravel menggunakan ORM Eloquent sebagai ORM lalai, yang merupakan ORM yang berkuasa dan mudah digunakan. Eloquent membolehkan anda memudahkan proses bekerja dengan pangkalan data dengan memanipulasi objek.

Di bawah, kita akan melihat secara mendalam prinsip pelaksanaan ORM Laravel:

Sambung ke pangkalan data

Sebelum menggunakan ORM, kita perlu menyambung ke pangkalan data dahulu. Dalam Laravel, perpustakaan sambungan PDO digunakan untuk menyambung ke pangkalan data hubungan. Sebelum menggunakan Laravel ORM, kita mesti menentukan pangkalan data yang akan digunakan oleh Laravel berdasarkan tetapan ini.

Tentukan model

Dalam Laravel, setiap jadual pangkalan data sepadan dengan model Eloquent. Model ini ialah kelas PHP biasa yang perlu diwarisi daripada kelas IlluminateDatabaseEloquentModel. Dalam model Eloquent, kita boleh menentukan nama jadual data, kunci utama dan medan boleh diisi yang sepadan dengan model. Tetapan ini secara automatik akan mengendalikan operasi jadual data dan rekod data yang sepadan melalui Eloquent.

Sebagai contoh, untuk menentukan model Pengguna dalam Laravel, kita boleh menulis:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'users';

    protected $primaryKey = 'id';

    protected $fillable = ['name', 'email', 'password'];
}

Dalam kod di atas, atribut $table menentukan nama jadual data yang sepadan "pengguna". Atribut $primaryKey menentukan nama medan kunci utama "id" dalam jadual data yang sepadan dan atribut $fillable menentukan medan yang boleh dikemas kini secara automatik melalui Eloquent.

Kaedah pertanyaan

Fungsi paling asas ORM adalah untuk menanyakan pangkalan data. Dalam Laravel, Eloquent menyediakan banyak kaedah pertanyaan, membolehkan kami membuat pertanyaan, menapis dan mengisih data dengan mudah.

Sebagai contoh, kita boleh menanyakan semua pengguna dalam jadual Pengguna dengan cara berikut:

$users = App\Models\User::all();

Kaedah pertanyaan ini akan menanyakan jadual pangkalan data "pengguna" melalui pengguna kelas model dan kembali a Objek koleksi Fasih yang mengandungi semua pengguna.

Kami juga boleh menggunakan pembina pertanyaan untuk membina pernyataan pertanyaan yang lebih kompleks. Contohnya:

$users = App\Models\User::where('name', 'John')->orderBy('id', 'desc')->get();

Pernyataan pertanyaan ini akan menanyakan semua pengguna bernama "John", mengisih mereka dalam tertib menurun mengikut medan ID dan mengembalikan objek koleksi Eloquent.

Sisipkan data

Dalam Laravel, sangat mudah untuk menggunakan ORM untuk memasukkan data. Kami hanya perlu mencipta contoh model Eloquent baharu, tetapkan nilai medan yang sepadan, dan kemudian simpannya ke pangkalan data melalui kaedah save().

Sebagai contoh, kita boleh memasukkan sekeping data baharu ke dalam jadual Pengguna dengan cara berikut:

$user = new App\Models\User;

$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->password = bcrypt('secret');

$user->save();

Operasi sisipan ini akan mencipta contoh Pengguna baharu dan menetapkan "nama"nya , atribut "e-mel", "kata laluan", dan kemudian simpannya ke pangkalan data.

Kemas kini data

Dalam Laravel, kami juga boleh mengemas kini data dengan mudah melalui Eloquent. Kita hanya perlu mencari rekod data untuk dikemas kini, kemudian tetapkan nilai medan yang sepadan, dan akhirnya panggil kaedah save() untuk mengemas kininya ke pangkalan data.

Sebagai contoh, kita boleh mencari rekod melalui medan id, dan kemudian mengemas kini medan "nama"nya kepada "Jane":

$user = App\Models\User::find(1);

$user->name = 'Jane';

$user->save();

Operasi kemas kini ini akan mencari kunci utama 1 Rekod pengguna, kemas kini medan "nama"nya kepada "Jane", dan kemudian kemas kininya ke pangkalan data.

Padam data

Akhir sekali, kami juga boleh memadamkan rekod data dengan mudah dalam Laravel. Kita hanya perlu mencari rekod data untuk dipadamkan dan kemudian memanggil kaedah delete().

Sebagai contoh, kita boleh mencari rekod mengikut medan id dan memadamkannya:

$user = App\Models\User::find(1);

$user->delete();

Operasi pemadaman ini akan mencari rekod pengguna dengan kunci utama 1 dan kemudian mengeluarkannya daripada pemadaman pangkalan data.

Ringkasan

ORM ialah komponen penting dalam Laravel Ia menyediakan cara yang mudah untuk mengendalikan pangkalan data dan menjadikan kod anda lebih jelas dan mudah difahami. Dalam artikel ini, kami mempunyai pemahaman yang mendalam tentang prinsip pelaksanaan ORM Laravel, termasuk cara menyambung ke pangkalan data, mentakrifkan model, data pertanyaan, memasukkan data, mengemas kini data dan memadamkan data. Dengan menguasai pengetahuan ini, kami boleh menggunakan Laravel ORM dengan lebih baik untuk melaksanakan operasi pangkalan data, dengan itu menulis kod dengan lebih pantas dan lebih dipercayai.

Atas ialah kandungan terperinci Penjelasan terperinci tentang prinsip pelaksanaan ORM dalam laravel. 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