DbCriteria dalam rangka kerja Yii: Tanya pangkalan data dengan cekap
Rangka kerja Yii ialah rangka kerja PHP yang pantas, cekap dan selamat Ia menyediakan kelas operasi pangkalan data DbCriteria yang boleh membantu kami membuat pertanyaan dengan lebih cekap dan menambah baik prestasi aplikasi. Artikel ini akan memperkenalkan cara menggunakan DbCriteria untuk pertanyaan pangkalan data.
Penciptaan DbCriteria
Kami boleh menggunakan kod berikut untuk mencipta contoh DbCriteria:
$criteria = new CDbCriteria;
DbCriteria menyediakan kaedah pertanyaan penstriman, yang membolehkan kami lulus pertanyaan Set rantai syarat dengan memanggil kaedah, contohnya:
$criteria->select('title, content') ->addCondition('status=:status') ->params(array(':status'=>1)) ->order('create_time DESC') ->limit(10);
Dalam kod di atas, kami menggunakan kaedah pilih untuk menentukan medan untuk ditanya, gunakan kaedah addCondition untuk menetapkan syarat pertanyaan, gunakan kaedah params untuk mengikat pertanyaan parameter, dan gunakan Kaedah pesanan mengisih hasil pertanyaan, dan kaedah had menetapkan bilangan hasil pertanyaan.
DbCriteria menyediakan pelbagai kaedah pertanyaan, termasuk kaedah pilih, tambahSyarat, param, pesanan, had dan kaedah lain. Di bawah ini kami akan memperkenalkan kaedah ini satu demi satu.
kaedah pilih
kaedah pilih digunakan untuk menentukan medan yang hendak ditanya Ia boleh menerima satu atau lebih nama medan sebagai parameter, contohnya:
$criteria->select('id, name, email');
juga boleh. tatasusunan. Tentukan medan yang ingin ditanya dalam bentuk:
$criteria->select(array('id', 'name', 'email'));
kaedah addCondition
kaedah addCondition digunakan untuk menambah syarat pertanyaan Ia boleh menerima parameter berbeza berikut:
Contohnya:
$criteria->addCondition('age>:age'); $criteria->addCondition('gender=:gender'); $criteria->params(array(':age'=>18, ':gender'=>'Female'));
Dalam kod di atas, kami menggunakan kaedah addCondition untuk menambah dua syarat pertanyaan dan menggunakan params kaedah untuk mengikat parameter pertanyaan.
kaedah params
kaedah params digunakan untuk mengikat parameter pertanyaan Ia menerima tatasusunan sebagai parameter nilai yang perlu diikat. Contohnya:
$criteria->params(array(':age'=>18, ':gender'=>'Female'));
Dalam kod di atas, kami menggunakan kaedah params untuk mengikat dua parameter pertanyaan: :umur dan :jantina.
kaedah pesanan
kaedah pesanan digunakan untuk mengisih hasil pertanyaan Ia menerima rentetan sebagai parameter, yang menunjukkan syarat untuk mengisih, contohnya:
$criteria->order('create_time DESC');
Dalam perkara di atas. kod, Kami menggunakan kaedah pesanan untuk mengisih hasil pertanyaan dalam susunan menurun mengikut medan create_time.
kaedah had
kaedah had digunakan untuk mengehadkan bilangan hasil pertanyaan Ia menerima integer sebagai parameter, menunjukkan bilangan hasil pertanyaan, contohnya:
$criteria->limit(10);
$model = Post::model()->find($criteria);
$models = Post::model()->findAll($criteria);
$models = Yii::app()->db->createCommand() ->select('id, name, email') ->from('user') ->where('status=:status', array(':status'=>1)) ->order('create_time DESC') ->limit(10) ->queryAll();
Atas ialah kandungan terperinci DbCriteria dalam rangka kerja Yii: Tanya pangkalan data dengan cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!