2012-09-03 3 views
1

나는이cakephp 쿼리에 "DISTINCT"키워드를 어떻게 넣으시겠습니까?

$this->Customer->setSource('customer'); 
     $this->Customer->find('first',array('fields'=>" IF(assigned_id.assigned_id is NULL, 
              CONCAT(GROUP_CONCAT(DISTINCT(`team_members`.`user_id`)),'=>TEAM')")); 

내 필요한 출력과 같은 코드이

SELECT IF(assigned_id.assigned_id is NULL, CONCAT(GROUP_CONCAT(DISTINCT(`team_members`.`user_id`)),'=>TEAM') FROM `ctk_customer` AS `Customer` WHERE 1 = 1 LIMIT 1 

입니다 가지고하지만 난이 출력을 얻을

SELECT DISTINCT IF(assigned_id.assigned_id is NULL, CONCAT(GROUP_CONCAT(DISTINCT(`team_members`.`user_id`)),'=>TEAM') FROM `ctk_customer` AS `Customer` WHERE 1 = 1 LIMIT 1 
+0

당신은'find ('all')' –

+0

을 시도 할 수 있습니다. find ('all'), find ('count')를 시도했습니다. 그러나 잘못된 결과를 얻는다 – EbinPaulose

+0

'IF (assigned_id.assigned_id' 당신은 단 하나의 assigned_id를 의미 했습니까? – tigrang

답변

2
$this->Customer->setSource('customer'); 
     $this->Customer->find('first',array('fields'=>" IF(assigned_id.assigned_id is NULL, 
              CONCAT(GROUP_CONCAT(distinct(`team_members`.`user_id`)),'=>TEAM')")); 
0

it looks like이처럼 다만 수

array(
    'conditions' => array('Model.field' => $thisValue), //array of conditions 
    'recursive' => 1, //int 
    'fields' => array('Model.field1', 'DISTINCT Model.field2'), //array of field names 
    'order' => array('Model.created', 'Model.field3 DESC'), //string or array defining order 
    'group' => array('Model.field'), //fields to GROUP BY 
    'limit' => n, //int 
    'page' => n, //int 
    'offset'=>n, //int 
    'callbacks' => true //other possible values are false, 'before', 'after' 
) 
관련 문제