Rumah > rangka kerja php > YII > teks badan

Pembina pertanyaan dalam rangka kerja Yii: Memudahkan operasi pangkalan data

王林
Lepaskan: 2023-06-21 14:11:34
asal
1259 orang telah melayarinya

Dengan pembangunan dan populariti aplikasi web, pemprosesan data menjadi semakin penting. Pangkalan data adalah teras pemprosesan data Artikel ini akan memperkenalkan pembina pertanyaan dalam rangka kerja Yii Ia adalah alat berkuasa yang boleh memudahkan operasi pangkalan data dan meningkatkan kecekapan pembangunan.

Rangka kerja Yii ialah rangka kerja PHP berasaskan MVC berprestasi tinggi. Ia menyediakan banyak ciri dan komponen, salah satu komponen yang paling penting ialah pembina pertanyaan (QueryBuilder). Pembina pertanyaan membolehkan kami berinteraksi dengan pangkalan data dengan cara yang lebih elegan, menggunakan pendekatan berorientasikan objek.

Berbeza daripada pernyataan SQL tradisional, pembina pertanyaan menggunakan pendekatan berorientasikan objek untuk membina pernyataan SQL. Kami menggunakan kod PHP untuk mewakili pertanyaan yang ingin kami buat, dan pembina pertanyaan bertanggungjawab untuk menukar kod ini kepada pernyataan SQL yang sepadan.

Berikut ialah beberapa kaedah biasa pembina pertanyaan dalam rangka kerja Yii.

  1. select()

kaedah select() digunakan untuk menetapkan lajur yang hendak dipilih. Jika kita perlu memilih semua lajur, kita boleh menggunakan * sebagai parameter. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users');
Salin selepas log masuk
Salin selepas log masuk

Jika kita hanya perlu memilih beberapa lajur tertentu, kita boleh menghantar nama lajur sebagai parameter kepada kaedah select() dan berbilang nama lajur boleh dihantar menggunakan tatasusunan. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select(['id', 'username'])->from('users');
Salin selepas log masuk
  1. from()

from() kaedah digunakan untuk menetapkan jadual data pertanyaan. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users');
Salin selepas log masuk
Salin selepas log masuk
  1. kaedah where()

where() digunakan untuk menetapkan syarat pertanyaan. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users')->where(['status' => 1]);
Salin selepas log masuk

di mana status ialah nama lajur dan 1 ialah nilai lajur.

Selain menggunakan pasangan nilai kunci, kami juga boleh menggunakan tatasusunan untuk menghantar perhubungan antara syarat berbilang syarat pertanyaan Lalai ialah perhubungan "DAN". Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users')->where(['status' => 1, 'age' => 18]);
Salin selepas log masuk

Ini akan menghasilkan pernyataan SQL berikut:

SELECT * FROM `users` WHERE `status`=:status AND `age`=:age
Salin selepas log masuk

Jika kita perlu menggunakan perhubungan "OR", kita boleh menulisnya seperti ini:

$query = Yii::$app->db->createCommand()->select('*')->from('users')->where(['or', ['status' => 1], ['age' => 18]]);
Salin selepas log masuk

Ini akan menjana pernyataan SQL berikut :

SELECT * FROM `users` WHERE (`status`=:status OR `age`=:age)
Salin selepas log masuk
  1. had() dan offset()

kaedah had() digunakan untuk menetapkan bilangan baris maksimum dikembalikan oleh keputusan pertanyaan, dan kaedah offset() digunakan untuk menetapkan pertanyaan Offset hasil. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users')->where(['status' => 1])->limit(10)->offset(5);
Salin selepas log masuk

Ini akan menghasilkan pernyataan SQL berikut:

SELECT * FROM `users` WHERE `status`=:status LIMIT 10 OFFSET 5
Salin selepas log masuk
  1. orderBy()

orderBy() kaedah digunakan untuk menyusun keputusan. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('*')->from('users')->where(['status' => 1])->orderBy('age');
Salin selepas log masuk

Ini akan menghasilkan pernyataan SQL berikut:

SELECT * FROM `users` WHERE `status`=:status ORDER BY `age`
Salin selepas log masuk
  1. groupBy() dan having()

The groupBy( ) kaedah digunakan untuk Keputusan dikumpulkan, dan kaedah having() digunakan untuk menetapkan keadaan kumpulan. Contohnya adalah seperti berikut:

$query = Yii::$app->db->createCommand()->select('count(*) as cnt, status')->from('users')->groupBy('status')->having(['>', 'cnt', 10]);
Salin selepas log masuk

Ini akan menghasilkan pernyataan SQL berikut:

SELECT count(*) as cnt, status FROM `users` GROUP BY `status` HAVING cnt > 10
Salin selepas log masuk

Pembina pertanyaan membolehkan kami berinteraksi dengan pangkalan data dengan cara yang lebih elegan, menggunakan pendekatan berorientasikan objek . Apabila menggunakan rangka kerja Yii untuk membangunkan aplikasi web, kami boleh menggunakan sepenuhnya pembina pertanyaan untuk memudahkan operasi pangkalan data dan meningkatkan kecekapan pembangunan.

Atas ialah kandungan terperinci Pembina pertanyaan dalam rangka kerja Yii: Memudahkan operasi 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!