Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk membina model menggunakan Laravel Eloquent?

Pembangunan Laravel: Bagaimana untuk membina model menggunakan Laravel Eloquent?

PHPz
PHPzasal
2023-06-14 10:14:171616semak imbas

Laravel ialah rangka kerja web PHP popular yang popular kerana kesederhanaan dan kemudahan penggunaannya. Rangka kerja Laravel terkenal dengan pelaksanaan Eloquent ORM yang sangat baik, iaitu pemetaan Mini Object-Relational yang menyokong penggunaan PHP untuk mentakrifkan model pangkalan data dan menyediakan interaksi pangkalan data yang mudah berdasarkan model ini.

Artikel ini akan memperkenalkan secara terperinci cara menggunakan Laravel Eloquent untuk membina model untuk berinteraksi dengan pangkalan data dengan cepat dan boleh dipercayai.

Apakah itu Laravel Eloquent

Eloquent ORM ialah sistem ORM yang dibina dalam rangka kerja Laravel, yang membolehkan anda menggunakan PHP untuk berinteraksi dengan pangkalan data dan bukannya mengendalikan data secara langsung dalam pernyataan MySQL. Fasih memetakan satu siri jadual data kepada objek, jadi anda boleh menamakan dan memanipulasi setiap medan dalam jadual data tanpa melaksanakan pernyataan SQL secara langsung.

Untuk menggunakan Laravel Eloquent ORM, anda mesti mengkonfigurasi sambungan pangkalan data sebelum membina model pangkalan data seperti yang ditunjukkan di bawah.

<?php

use IlluminateSupportFacadesDB;

$connection = DB::connection();
$name = $connection->getDatabaseName();

Secara umumnya, rangka kerja Laravel telah pun mengkonfigurasi sambungan pangkalan data dalam fail .env Dalam pembangunan tempatan, anda biasanya hanya perlu mengekalkan sambungan lalai.

Cara membina model menggunakan Laravel Eloquent

Laravel Eloquent ORM menyediakan cara yang mudah dan berkuasa untuk menentukan model tanpa menulis pernyataan SQL yang kompleks.

Dalam Laravel, setiap model Eloquent dikaitkan dengan jadual pangkalan data. Kita boleh menggunakan perintah php artisan untuk mencipta fail pemindahan pangkalan data dan kemudian menggunakan perintah php artisan make:model untuk mencipta model Eloquent.

Contoh berikut menunjukkan cara mencipta model:

php artisan make:model Example

Ini akan mencipta fail Example.php dalam direktori aplikasi Berikut ialah kod khusus:

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class Example extends Model
{
    //
}

Gunakan Dengan model ringkas ini, kita boleh mula mentakrifkan dan memodelkan jadual data Pemodelan khusus adalah seperti berikut:

Schema::create(`example`, function ($table) {
    $table->increments(`id`);
    $table->string(`title`);
    $table->string(`body`);
    $table->timestamps();
});

Selepas mentakrifkan model, kita boleh membina pertanyaan melalui pembina pertanyaan Eloquent Contoh Laravel Pertanyaan Eloquent:

$example = Example::find(1);

Dalam pertanyaan ini, Example::find(1) membaca rekod dalam jadual lalai example dan mengembalikan contoh model AppExample. Pada contoh model ini kita boleh melaksanakan fungsi atau sifat dalaman, contohnya:

$title = $example->title;

Kod di atas akan mengeluarkan nilai lajur tajuk rekod dengan id 1 dalam jadual.

Tambahkan perkaitan pada model jadual data

Dalam Laravel Eloquent ORM, kita boleh menyatakan perkaitan antara model data dengan menambahkan perhubungan perkaitan, seperti perkaitan antara dua model berikut:

class Country extends Model
{
    public function user()
    {
        return $this->hasMany(User::class);
    }
}

class User extends Model
{
    public function country()
    {
        return $this->belongsTo(Country::class);
    }
}

Dalam model ini, sesebuah negara boleh mempunyai berbilang pengguna, jadi model Country hasMany dikaitkan dengan model pengguna sebaliknya, pengguna hanya boleh dari satu negara, jadi model User digunakan belongsToKaedah ini adalah bawahan kepada model nasional.

Dengan mentakrifkan perhubungan ini, kita boleh mendapatkan model perkaitan yang sepadan dengan mudah menggunakan kaedah with pada masa pertanyaan, contohnya:

$countries = Country::with('user')->get();

Dalam pertanyaan di atas, Country::with('user') mengembalikan nilai diluluskan oleh Country::user()Rekod pengguna persatuan yang ditentukan. Koleksi ini boleh diakses dalam koleksi yang dikembalikan, contohnya:

foreach ($countries as $country) {
    foreach ($country->user as $user) {
        echo $user->name;
    }
}

Ringkasan

Laravel Eloquent ORM ialah salah satu ciri terbaik rangka kerja Laravel, yang memudahkan kerumitan berinteraksi dengan pangkalan data untuk pemaju. Dengan menyediakan sambungan pangkalan data, mencipta model dan menentukan perhubungan, kami boleh berinteraksi dengan mudah dan mendapatkan semula data daripada pangkalan data. Apabila menggunakan Laravel, ingat untuk menggunakan Laravel Eloquent ORM untuk membina model pangkalan data dengan lebih cekap dan diperkemas.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk membina model menggunakan Laravel Eloquent?. 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