2014-03-31 1 views

답변

0

을 custom_where 어떻게

SELECT DISTINCT bean_id FROM `email_addr_bean_rel` as a, 
(select S.email_address_id from contacts R 
INNER JOIN email_addr_bean_rel S ON R.id = S.bean_id 
and S.bean_module='contacts' and S.deleted=0 
group by S.email_address_id 
having count(S.email_address_id)>1) as Dup 
where Dup.email_address_id=a.email_address_id 
and a.bean_module='contacts' and a.deleted=0 

은 매우 간단하지만 당신은 선택을 변경하려면 그에서 더 큰 문제가 있다면. 이를 실현하려

두 가지 방법은 다음과 같습니다

1)

function create_new_list_query() 
{  

    $return_array = Array(); 

    $return_array['select'] = "SELECT DISTINCT bean_id "; 
    $return_array['from'] = " FROM `email_addr_bean_rel` as a, (select .email_address_id from contacts R INNER JOIN email_addr_bean_rel S ON R.id = S.bean_id and S.bean_module='contacts' and S.deleted=0 group by S.email_address_id having count(S.email_address_id)>1) as Dup ";        
    $return_array['where'] = " where Dup.email_address_id=a.email_address_id and a.bean_module='contacts' and a.deleted=0 ";  
    $return_array['order_by'] = ""; 

    return $return_array['select'] . $return_array['from'] . $return_array['where']. $return_array['order_by']; 

} 

당신은에 추가하여 표시 필드를 선택할 수 있습니다 Contact.php에서 create_new_list_query() 함수 (모듈 핵심 클래스)를 만들 select 및 listviewdefs.php

$listViewDefs ['Contacts'] = 
    array (
     'bean_id' => array (
      'width' => '15%', 
      'label' => 'LBL_ID', 
      'default' => true, 
    ), 

);

이 행동이 더 좋은 방법은 1과 동일하게 변경으로 사용자 정의 모듈을 생성하는 것) 심각하게 당신에게 연락처 모듈을 변경하고 당신에게 원래 동작을 원하는 경우 다시 나중에

이 모든 변경 사항을 되돌아갑니다 조심)

관련 문제