Rumah >rangka kerja php >ThinkPHP >Menggunakan ORM Eloquent Laravel dalam ThinkPHP6

Menggunakan ORM Eloquent Laravel dalam ThinkPHP6

WBOY
WBOYasal
2023-06-20 09:40:431436semak imbas

ThinkPHP6 ialah rangka kerja PHP yang sangat popular, dan Laravel ialah satu lagi rangka kerja PHP yang popular. Kedua-dua rangka kerja mempunyai ciri dan kelebihan tersendiri, tetapi enjin ORM (Pemetaan Hubungan Objek) Laravel dikenali sebagai "ORM terbaik dalam dunia PHP".

Apakah yang perlu kita lakukan jika kita ingin menggunakan Laravel's Eloquent ORM apabila menggunakan ThinkPHP6? Mari kita bincangkan secara terperinci cara menggunakan Laravel's Eloquent ORM dalam ThinkPHP6.

Pengenalan kepada Eloquent ORM

Eloquent ORM ialah salah satu komponen teras rangka kerja Laravel Ia menyediakan cara yang ringkas dan berkuasa untuk memproses data pangkalan data. Menggunakan Eloquent ORM, kita boleh memetakan data baris jadual pangkalan data ke objek PHP yang sepadan, dengan itu mencapai operasi data yang cekap tanpa menulis pernyataan SQL yang menyusahkan.

Kelebihan Eloquent ORM ialah ia menyediakan satu siri kaedah operasi berkuasa yang boleh membantu kami melakukan pertanyaan, tambah, kemas kini dan padam operasi dengan mudah. Pada masa yang sama, Eloquent ORM juga menyokong fungsi lanjutan seperti migrasi pangkalan data (Migrasi), pengikatan perhubungan (Perhubungan), dan pemuatan bersemangat (Eager Loading), yang meningkatkan pengalaman operasi pangkalan data kami semasa pembangunan projek dan meningkatkan kecekapan pembangunan.

Menggunakan Eloquent ORM dalam ThinkPHP6

Walaupun ThinkPHP6 sendiri turut menyediakan fungsi ORM, ia tidak menyokong Eloquent ORM. Oleh itu, jika kita ingin menggunakan Eloquent ORM semasa menggunakan rangka kerja ThinkPHP6, kita perlu membuat beberapa tetapan asas terlebih dahulu.

Pasang Eloquent ORM

Sebelum menggunakan Eloquent ORM, kita perlu memasangnya terlebih dahulu. Sebelum pemasangan, pastikan kami telah memasang alat komposer, dan kemudian gunakan arahan berikut pada baris arahan untuk memasang:

composer require "illuminate/database"

Selepas pemasangan selesai, kami perlu mencipta direktori database dalam projek direktori akar, dan Cipta fail config.php dalam direktori ini. Dalam fail config.php, kami perlu mengkonfigurasi maklumat sambungan pangkalan data, seperti yang ditunjukkan di bawah:

<?php

return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'driver' => 'mysql',
            'host' => 'localhost',
            'database' => 'dbname',
            'username' => 'dbuser',
            'password' => 'dbpass',
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
    ],
];

Memandangkan kami telah mengkonfigurasi maklumat sambungan pangkalan data dalam proses menggunakan ThinkPHP6, kami boleh mengkonfigurasinya secara langsung dalam Fail config.php Gunakan item konfigurasi pangkalan data yang sama seperti ThinkPHP6.

Konfigurasikan maklumat asas

Selepas memasang Eloquent ORM, kita perlu mencipta fail database dalam direktori db.php projek dan mengkonfigurasi maklumat asas yang sepadan, seperti ditunjukkan di bawah:

<?php

use IlluminateDatabaseCapsuleManager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([
    'driver' => 'mysql',
    'host' => config('database.hostname'),
    'database' => config('database.database'),
    'username' => config('database.username'),
    'password' => config('database.password'),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
]);

$capsule->setAsGlobal();
$capsule->bootEloquent();

Dalam kod di atas, kita perlu merujuk kelas illuminate/database dalam Capsule dan menggunakan kelas ini untuk mengkonfigurasi maklumat asas pangkalan data. Antaranya, kaedah addConnection digunakan untuk menambah maklumat sambungan pangkalan data, manakala kaedah setAsGlobal dan bootEloquent digunakan untuk mendaftarkan Eloquent ORM ke dalam bekas perkhidmatan global dan memulakan Eloquent ORM.

Menggunakan Eloquent ORM

Selepas melengkapkan konfigurasi di atas, kami boleh menggunakan Eloquent ORM untuk operasi pangkalan data. Dalam ThinkPHP6, kita boleh menggunakan fungsi app() untuk mendapatkan contoh sambungan pangkalan data dengan cepat dan kelas DB merangkum tika ini. ORM fasih melakukan pengkapsulan sekunder berdasarkan contoh sambungan pangkalan data ini.

Sebagai contoh, jika kita ingin menanyakan data jadual users dalam Eloquent ORM, kita boleh menggunakan kod berikut:

use IlluminateDatabaseCapsuleManager as Capsule;

// 创建一个 Eloquent ORM 实例
$capsule = new Capsule();

// 查询 users 表的数据
$users = Capsule::table('users')->get();

// 输出查询结果
foreach ($users as $user) {
    echo $user->name;
}

Dalam kod di atas, kita menggunakan Capsule kelas untuk mencipta contoh ORM Eloquent, kemudian panggil kaedah table melalui contoh dan masukkan nama jadual, dan anda boleh melakukan operasi pertanyaan yang sepadan. Selain itu, kami juga boleh menggunakan fungsi kaya yang disediakan oleh Eloquent ORM untuk melaksanakan operasi seperti sekatan, pengisihan, pengelompokan, pengagregatan, dll. Untuk penggunaan khusus, sila rujuk dokumentasi rasmi Eloquent ORM.

Ringkasan

Dalam artikel ini, kami meneroka secara terperinci cara menggunakan Laravel's Eloquent ORM dalam ThinkPHP6. Melalui konfigurasi maklumat asas dan contoh penggunaan Eloquent ORM, saya percaya bahawa pembaca mempunyai pemahaman tertentu tentang cara menggunakan Eloquent ORM untuk melaksanakan operasi pangkalan data dalam ThinkPHP6. Sudah tentu, jika kita ingin mengetahui lebih lanjut tentang lebih banyak fungsi dan ciri Eloquent ORM, kita boleh menyemak dokumentasi rasmi atau bahan berkaitan untuk dipelajari.

Atas ialah kandungan terperinci Menggunakan ORM Eloquent Laravel dalam ThinkPHP6. 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