Yiida CDbCriteria klassini ishlatish

Yiida CDbCriteria klassini ishlatish

Yiida CDbCriteria klassini ishlatish

Bugun Yii frameworkdagi
CDbCriteria klassi haqida gaplashib o’tamiz, ushbu klass so’rovlardagi kriteriyalar yaratish uchun ishlatiladi. Klassdagi metodlarga tasnif berilib ketiladi.

// CDbCriteria klassidan nusxa olamiz
$criteria = new CDbCriteria;

// jadval aliasini ko'rsatamiz
$criteria->alias = 'user';

// WHEREgaa aloqador barcha amallar shu metodda ishlatidi
// pleysholderlar ishlatish mumkin
$criteria->condition = 'id = :userId AND date_create distinct = true;

// guruhlashtirmoqchi bo'lgan maydonni kirtamiz, GROUP BY
$criteria->group = 'date_update';

// HAVING qiymati
$criteria->having = 'MAX(salary) > 10000';

// natijada olinuvchi massiv indeksini ko'rsatamiz, foydali metod, 1.1.5 versiyasidan paydo bo'lgan
// boshlang'ich qiymari NULL bo'ladi va massiv indekslari 0dan boshlanadi
$criteria->index = 'full_name';

// boshqa jadvallar bilan join qilishni ko'rsayish
// hohlagan jadvalni join qilamiz 
$criteria->join = 'LEFT JOIN `profile` ON `user`.`id` = `profile`.`user_id`';

// javob qaytishi mumkin bo'lgan natijalarning maksimum sonini ko'rsatish
// agar 0dan kam bo'lsa, hamma natijalarni qaytaradi
$criteria->limit = '20';

// aralashtirish uchun
$criteria->offset = '3';

// tartiblash
$criteria->order = 'date_create DESC, first_name ASC';

// pleysholder uchun parametrlar
$criteria->params = array(':userId'=>$userId);

// maydoni tanlash uchun, boshlang'ich qiymati *
$criteria->select = 'id, first_name, last_name, last_visit';

// yoki
$criteria->select = array('id', 'first_name', 'last_name', 'last_visit');

// agar true bo'lsa, tashqi(bog'langan) jadvallardagi ma'lumotlarni
// bitta JOIN so'rov bilan olib beradi. Faqat ActiveRecorddagi bog'lanishlar bilan ishlaydi
$criteria->together = true;

// bog'lanishlar, faqat ActiveRecord bilan ishlaydi.
$criteria->with = array('profile', 'comments', 'posts');

// Kriteriyalariz tayyor. Endi uni ishlatishimiz mumkin
$users = User::model()->findAll($criteria);

Savollar bo’lsa be’malol yozishingiz mumkin.

Manba:

Web Dasturlash
Yiida CDbCriteria klassini ishlatish