2013-07-09 40 views
5

Làm thế nào để chuyển đổi câu lệnh sql này thành định dạng yii xây dựng mô hình?Làm thế nào để chọn DISTINCT của hai colums từ một bảng có điều kiện trong Yii?

SELECT DISTINCT agency_id, university_id 
     FROM `tbl_universityagency` where agency_id=1 

như thế này những gì tôi đang thiếu? ,

$criteria = new CDbCriteria(); 
     $criteria->distinct=true;    
     $criteria->condition = "agency_id=".$result->agency_id ;   
     $modal=Universityagency::model()->find($criteria); 
+0

$ criteria-> select = 'agency_id, university_id'; – raghul

Trả lời

5
$criteria = new CDbCriteria(); 
$criteria->distinct=true; 
$criteria->condition = "agency_id=".$result->agency_id ;  
$criteria->select = 'id, agency_id, university_id'; 
$modal=Universityagency::model()->find($criteria); 

nên tạo ra truy vấn:

SELECT DISTINCT id,agency_id, university_id FROM `tbl_universityagency` where agency_id=1 LIMIT 1 
+0

neeed Giới hạn = 0 không giới hạn = 1 – raghul

+1

sau đó sử dụng findAll() – HarryFink

+1

id luôn là duy nhất để loại trừ "id" – raghul

4

Bạn phải sử dụng findAll() thay vì find().

1

Giải pháp nhanh!

Đặt mã bên dưới vào tệp Mô hình của bạn.

$criteria = new CDbCriteria; 
$criteria->distinct = true; 
$criteria->condition = "t.C = t.D";     
$criteria->group = "t.A"; 

Hãy cho chúng tôi biết nếu bạn gặp phải bất kỳ thắc mắc/lo ngại nào về vấn đề này.

Cảm ơn!