یکی دیگه از روش های کوئری زدن در اکتیو رکورد ActiveRecord استفاده از CDbCriteria هست
این کلاس امکان کوئری زدن دلخواه نظیر : condition , limit , order , … را برای ما فراهم میکند
نحوه ی استفاده در اکتیو رکورد هم به شکل زیر می باشد
CActiveRecord::find
برای مثال ما میخواهیم اطلاعاتی از کاربر بگیریم
$criteria = new CDbCriteria(); $criteria->select = array('id', 'first_name', 'last_name'); // انتخاب ستون های دلخواه $criteria->condition = 'id>50'; // شرط کوئری $criteria->order = 'id DESC'; // ترتیب یا همان سورت $criteria->distinct = true; // جوگیری از داده های تکراری $criteria->limit = 5; // نمایش فقط پنج آیتم $criteria->offset = 5; // شروه از آفست پنج به بعد // یعنی به جای اینکه از آفست صفر شروع به نمیش دادن کن از آفست ۵ شروع کن $users = User::model()->findAll($criteria);
به همین سادگی