Rumah > rangka kerja php > Laravel > laravel melaksanakan pertanyaan berbilang syarat

laravel melaksanakan pertanyaan berbilang syarat

WBOY
Lepaskan: 2023-05-26 13:48:38
asal
1714 orang telah melayarinya

Sebagai rangka kerja pembangunan PHP yang popular, Laravel telah memenangi hati ramai pembangun. Dalam pembangunan sebenar, banyak senario memerlukan pertanyaan berbilang syarat pada pangkalan data Pada masa ini, Laravel menyediakan banyak kaedah yang mudah untuk diproses. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan pertanyaan berbilang syarat.

Pengetahuan asas

Sebelum memperkenalkan kaedah pelaksanaan khusus, kita perlu memahami beberapa konsep asas.

  1. Pembina Pertanyaan: Pembina pertanyaan Laravel menyediakan antara muka yang mudah dan lancar untuk mengendalikan pangkalan data. Pembina pertanyaan menyokong mudah di mana keadaan, pengisihan, pengelompokan, pengagregatan dan banyak lagi.
  2. ORM Fasih: Dalam Laravel, Eloquent ORM ialah pelaksanaan pemetaan hubungan objek (ORM) pangkalan data. Ia menyediakan kaedah mudah untuk memanipulasi jadual pangkalan data.

Pembina Pertanyaan

Pembina pertanyaan Laravel menyediakan pelbagai kaedah pertanyaan, termasuk di mana, atauDi mana, di mana, di manaNotIn, di manaAntara, di manaNotBetween dan banyak lagi. Antaranya, di mana dan atauDi mana kaedah yang paling biasa digunakan.

Gunakan kaedah where untuk membuat pertanyaan berdasarkan syarat yang ditentukan. Kod sampel adalah seperti berikut:

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

Kod di atas akan menanyakan semua pengguna bernama John daripada jadual pengguna.

Gunakan kaedah orWhere untuk menambah satu atau lebih syarat "atau". Kod sampel adalah seperti berikut:

$users = DB::table('users')
            ->where('name', 'John')
            ->orWhere('name', 'Jane')
            ->get();
Salin selepas log masuk

Kod di atas akan menanyakan semua pengguna yang bernama John atau Jane daripada jadual pengguna.

Selain kaedah where dan orWhere, pembina pertanyaan Laravel juga menyediakan pelbagai kaedah pertanyaan lain, yang tidak akan diterangkan di sini. Untuk butiran lanjut, lihat dokumentasi rasmi Laravel.

ORM Fasih

ORM Fasih ialah pelaksanaan pemetaan hubungan objek (ORM) Laravel yang membolehkan kami menggunakan objek PHP dan bukannya pernyataan SQL untuk mengendalikan jadual pangkalan data.

Untuk menggunakan Eloquent ORM untuk membuat pertanyaan, anda perlu mentakrifkan model terlebih dahulu Kod sampel adalah seperti berikut:

namespace App;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $table = 'users';
}
Salin selepas log masuk

Dalam kod di atas, jadual pangkalan data yang sepadan dengan model Pengguna ialah pengguna. .

Selepas menentukan model, kita boleh menggunakan Eloquent ORM untuk melakukan pertanyaan berbilang syarat. Kod sampel adalah seperti berikut:

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

Kod di atas akan menanyakan semua pengguna yang bernama John atau Jane daripada jadual pengguna, dengan cara yang sama seperti menggunakan pembina pertanyaan.

Selain kaedah where dan orWhere, Eloquent ORM juga menyediakan pelbagai kaedah pertanyaan lain, yang tidak akan diterangkan di sini. Untuk butiran lanjut, lihat dokumentasi rasmi Laravel.

Contoh pertanyaan berbilang syarat

Dalam pembangunan sebenar, kita selalunya perlu melakukan pertanyaan berbilang syarat. Berikut mengambil pertanyaan pengguna mudah sebagai contoh untuk memperkenalkan cara menggunakan Eloquent ORM untuk melaksanakan pertanyaan berbilang syarat.

Andaikan kita mempunyai jadual pengguna dengan medan berikut:

  • id
  • nama
  • e-mel
  • umur
  • jantina

Kami perlu menyoal semua pengguna yang memenuhi syarat berikut:

  • jantina ialah lelaki
  • berumur antara 20 dan 30 tahun lama
  • Nama bermula dengan "J"
  • E-mel berakhir dengan "@example.com"

Menggunakan Eloquent ORM ia boleh dilaksanakan seperti berikut:

$users = User::where('gender', 'male')
             ->whereBetween('age', [20, 30])
             ->where('name', 'like', 'J%')
             ->where('email', 'like', '%@example.com')
             ->get();
Salin selepas log masuk

Kod di atas mula-mula menggunakan kaedah where untuk menapis pengguna yang jantinanya lelaki, kemudian menggunakan kaedah whereBetween untuk menapis pengguna yang berumur antara 20 dan 30 tahun, kemudian menggunakan kaedah where untuk menapis keluar pengguna yang namanya bermula dengan "J", dan akhirnya menggunakan tempat Kaedah ini menapis pengguna yang peti melnya berakhir dengan "@example.com", dan membungkus semua pengguna yang memenuhi syarat ke dalam set dan mengembalikannya.

Ringkasan

Pertanyaan berbilang syarat ialah keperluan biasa dalam pembangunan Dalam Laravel, kita boleh menggunakan pembina pertanyaan atau Eloquent ORM untuk melaksanakan pertanyaan berbilang syarat. Pembina pertanyaan menyediakan pelbagai kaedah pertanyaan yang boleh dipilih mengikut keperluan khusus ORM Fasih boleh menggunakan kaedah yang serupa dengan kaedah objek untuk melaksanakan pertanyaan berbilang syarat. Sudah tentu, kaedah mana yang hendak digunakan bergantung pada situasi tertentu dan keutamaan peribadi. Tidak kira kaedah yang digunakan, kami boleh melaksanakan pertanyaan berbilang syarat dengan mudah.

Atas ialah kandungan terperinci laravel melaksanakan pertanyaan berbilang syarat. 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