Rumah > rangka kerja php > Laravel > Pembangunan Laravel: Bagaimana untuk menggunakan Eloquent ORM untuk pertanyaan pangkalan data?

Pembangunan Laravel: Bagaimana untuk menggunakan Eloquent ORM untuk pertanyaan pangkalan data?

WBOY
Lepaskan: 2023-06-14 12:47:41
asal
1541 orang telah melayarinya

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan satu siri alatan dan fungsi tambahan untuk mempercepatkan pembangunan aplikasi web. Antaranya, Eloquent ORM ialah salah satu alat yang digunakan untuk operasi pangkalan data dalam rangka kerja Laravel, membolehkan pembangun Laravel membuat pertanyaan dan mengendalikan pangkalan data dengan lebih cepat. Dalam artikel ini, kita akan mendalami cara menggunakan Eloquent ORM untuk pertanyaan pangkalan data.

  1. Pasang Eloquent ORM

Pertama, kita perlu memasang Eloquent ORM dalam aplikasi Laravel kami. Kita boleh memasang Eloquent ORM melalui Composer, buka terminal, masukkan folder di mana projek Laravel terletak, dan masukkan arahan berikut:

composer require illuminate/database
Salin selepas log masuk

Selepas pemasangan selesai, kita perlu menetapkan sambungan pangkalan data dalam konfigurasi /database.php, seperti berikut Seperti yang ditunjukkan:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

],
Salin selepas log masuk

Kami juga perlu menetapkan maklumat berkaitan sambungan pangkalan data dalam fail .env, seperti yang ditunjukkan di bawah:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Salin selepas log masuk
  1. Tentukan model

Gunakan Untuk melaksanakan pertanyaan pangkalan data dengan Eloquent ORM, kita perlu mentakrifkan model terlebih dahulu. Model merujuk kepada kelas php yang mewakili jadual pangkalan data. Dalam Laravel, kita boleh menjana model melalui arahan artisan seperti berikut:

php artisan make:model User
Salin selepas log masuk

Ini akan mencipta model bernama Pengguna, yang akan dipetakan ke jadual pengguna dalam pangkalan data secara lalai. Jika anda ingin memetakan ke jadual lain, nyatakan nama jadual dalam model menggunakan atribut $table.

class User extends Model
{
    protected $table = 'my_users';
}
Salin selepas log masuk
  1. Mencari data

Setelah model ditakrifkan, kita boleh menggunakan Eloquent ORM untuk menanyakan pangkalan data. Berikut ialah beberapa operasi pertanyaan yang biasa digunakan:

(1) Tanya semua rekod

$users = User::all();
Salin selepas log masuk

(2) Tanya satu rekod berdasarkan ID

$user = User::find(1);
Salin selepas log masuk

(3) Berasaskan pertanyaan pada syarat lain Set keputusan

$users = User::where('name', 'John')->get();
Salin selepas log masuk

Kita boleh menambah satu siri kekangan dalam kaedah where, seperti sama dengan, tidak sama dengan, lebih besar daripada, kurang daripada, dalam, dsb.

$users = User::where('name', '=', 'John')->get();
$users = User::where('age', '>', 18)->get();
$users = User::whereIn('id', [1, 2, 3])->get();
Salin selepas log masuk

(4) Isih

$users = User::orderBy('name', 'desc')->get();
Salin selepas log masuk

(5) Soal lajur yang ditentukan

$users = User::select('name', 'email')->get();
Salin selepas log masuk

Kita boleh lulus berbilang parameter dalam kaedah pilih, setiap parameter mewakili lajur untuk disoal nama.

(6) Hadkan set hasil

$users = User::skip(10)->take(5)->get();
Salin selepas log masuk

Kita boleh menggunakan kaedah langkau dan ambil untuk melaksanakan paging Kaedah langkau digunakan untuk melangkau bilangan rekod tertentu, dan kaedah ambil adalah digunakan untuk mengembalikan bilangan rekod yang ditentukan.

(7) Menggunakan fungsi agregat

$avg_age = User::avg('age');
$max_age = User::max('age');
$min_age = User::min('age');
$count = User::count();
Salin selepas log masuk

Kita boleh menggunakan beberapa fungsi agregat, seperti purata, maks, min, kiraan, dsb.

  1. Kemas kini data

Menggunakan Eloquent ORM untuk mengemas kini rekod, kami boleh menanyakan rekod dahulu dan kemudian memanggil kaedah simpan pada contoh model.

$user = User::find(1);
$user->name = 'John';
$user->save();
Salin selepas log masuk

Kami juga boleh menggunakan kaedah kemas kini untuk mengemas kini berbilang rekod:

User::where('active', 1)->update(['status' => 'inactive']);
Salin selepas log masuk
  1. Padam data

Menggunakan Eloquent ORM untuk memadam rekod, kami boleh Mula-mula Tanya rekod dan kemudian panggil kaedah padam pada contoh model.

$user = User::find(1);
$user->delete();
Salin selepas log masuk

Kami juga boleh menggunakan kaedah musnah untuk memadamkan berbilang rekod:

User::destroy([1, 2, 3]);
Salin selepas log masuk

Ini akan memadamkan rekod dengan ID 1, 2 dan 3.

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan secara terperinci cara menggunakan Eloquent ORM untuk pertanyaan pangkalan data. Eloquent ORM ialah alat yang sangat berkuasa dan fleksibel dalam rangka kerja Laravel, yang boleh membantu kami membina pertanyaan pangkalan data yang cekap dan boleh diselenggara dengan cepat. Jika anda mempunyai sebarang soalan atau komen tentang Eloquent ORM, sila tinggalkan mereka dalam ulasan.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menggunakan Eloquent ORM untuk pertanyaan pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan