ก่อนอื่นต้องขอทบทวนก่อนว่า distinct (ของคำสั่ง SQL) คือ คำสั่งที่ตัดค่าที่ซ้ำกันออกไป
การนำมาใช้ใน findAll() หรือ find*() (* หมายถึงอื่นๆนะครับ เช่น find(), findAll(), findByPk(), findAllByPk(), findByAttributes(), findAllByAtributes())
....
....
$models=Thai::model()->findAll(array(
'select'=>'province',
'distinct'=>true,
));
....
....
อีกรูปแบบของการใช้ distinct (ของคำสั่ง SQL) ด้วย CDbCriteria
....
....
$criteria=new CDbCriteria;
$criteria->distinct = true;
$criteria->compare('province', $this->province, true);
$criteria->order ='province DESC, ampur ASC';
....
....
นอกจากนั้น find*() ยังสามารถใช้คุณสมบัติของ
CDbCriteria ได้อีกด้วยครับ เช่น การเรียงค่า ถ้าใน CDbCriteria ใช้
$criteria->order ='province DESC, ampur ASC';
ก็จะเป็น (ดูบรรทัดที่ 6. นะครับ)
....
....
$models=Thai::model()->findAll(array(
'select'=>'province',
'distinct'=>true,
'order' ='province DESC, ampur ASC',
));
....
....