Rumah  >  Artikel  >  rangka kerja php  >  Contoh analisis dan demonstrasi kaedah where dalam Laravel

Contoh analisis dan demonstrasi kaedah where dalam Laravel

王林
王林asal
2024-03-10 21:39:03980semak imbas

Contoh analisis dan demonstrasi kaedah where dalam Laravel

Analisis contoh dan demonstrasi kaedah where dalam Laravel

Dalam rangka kerja Laravel, kaedah where ialah kaedah pertanyaan data yang sangat biasa digunakan, yang boleh menapis data dalam pangkalan data berdasarkan keadaan yang ditetapkan. Dalam artikel ini, kami akan menunjukkan dan menganalisis penggunaan kaedah where dalam Laravel melalui contoh kod tertentu.

1. Penggunaan asas

Pertama, mari kita lihat contoh mudah Katakan kita mempunyai model Pengguna, yang mengandungi nama pengguna dan maklumat e-mel. Jika kami ingin menyoal semua pengguna dengan nama keluarga Zhang, kami boleh menggunakan kaedah where untuk mencapai ini:

$users = User::where('name', 'like', '张%')->get();

Dalam kod di atas, kami menggunakan kaedah where untuk menghantar dalam tiga parameter: nama medan, operator (seperti operator ialah digunakan di sini), dan Nilai untuk dipadankan. Dengan cara ini, anda boleh menanyakan semua pengguna yang namanya bermula dengan "Zhang".

2. Pertanyaan pelbagai syarat

Dalam pembangunan sebenar, kita selalunya perlu membuat pertanyaan berdasarkan berbilang syarat. Berikut ialah contoh untuk menyoal pengguna yang nama keluarga Zhang dan alamat e-melnya berakhir dengan "gmail.com":

$users = User::where('name', 'like', '张%')->where('email', 'like', '%@gmail.com')->get();

Dengan terus memanggil kaedah where lain selepas kaedah where, kami boleh melaksanakan pertanyaan gabungan dengan berbilang syarat.

3. Pengumpulan bersyarat

Selain menggunakan kaedah berbilang tempat untuk menambah syarat, kami juga boleh menggunakan fungsi tanpa nama untuk melaksanakan gabungan keadaan yang lebih kompleks. Contohnya, pertanyaan untuk pengguna yang namanya Zhang San atau alamat e-melnya berakhir dengan "163.com":

$users = User::where(function($query) {
    $query->where('name', '张三')
          ->orWhere('email', 'like', '%@163.com');
})->get();

Dalam fungsi tanpa nama, kita boleh menggunakan kaedah orWhere untuk menambah syarat "atau" untuk mencapai pertanyaan kumpulan syarat.

4. Pertanyaan julat

Dalam sesetengah kes, kita perlu menanyakan data medan tertentu dalam julat tertentu. Pada masa ini, anda boleh menggunakan kaedah whereBetween untuk melaksanakan pertanyaan julat. Sebagai contoh, pertanyaan untuk pengguna berumur antara 20 dan 30:

$users = User::whereBetween('age', [20, 30])->get();

dengan menghantar nama medan dan tatasusunan yang mengandungi dua elemen, dengan elemen pertama mewakili nilai minimum julat dan elemen kedua mewakili nilai maksimum bagi range , untuk melaksanakan fungsi pertanyaan julat.

5. Pertanyaan nilai nol

Kadangkala kita perlu menanyakan rekod yang nilai medannya kosong atau tidak kosong. Ini boleh dicapai menggunakan kaedah whereNull dan whereNotNull. Contohnya, tanya pengguna yang nilai medan alamat e-melnya kosong:

$users = User::whereNull('email')->get();

Kod di atas melaksanakan pertanyaan kepada pengguna yang nilai medan alamat e-melnya kosong.

Kesimpulan

Melalui contoh di atas, kami telah menunjukkan penggunaan asas dan penggunaan kaedah where yang lebih lanjut dalam Laravel. Kaedah where ialah alat pertanyaan yang sangat berkuasa dan fleksibel dalam rangka kerja Laravel, yang boleh melaksanakan pelbagai keperluan pertanyaan kompleks dengan mudah. Dalam pembangunan sebenar, penggunaan munasabah kaedah di mana boleh meningkatkan kecekapan pembangunan dan mengurangkan jumlah kod yang tidak diperlukan. Saya harap artikel ini akan membantu semua orang.

Atas ialah kandungan terperinci Contoh analisis dan demonstrasi kaedah where 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