Buscar registro

Olá, estou trabalhando com Beans. Como faço pra obter todos os dados de uma determinada conta passando apenas o e-mail como parâmetro de busca?
Tipo, quero buscar uma conta de acordo com o e-mail informado.

SuiteCRM 7.10.7

Tem aqui um exemplo similar, pode alterar para encontrar contas:


$ea = new SugarEmailAddress();
$beans = $ea->getBeansByEmailAddress($emailAddress);
foreach ($beans as $emailBean) {
    if ($emailBean->module_name === 'Contacts'){
        //Contact Bean! Do something with it
    }
}

Os emails estão num módulo à parte, daí essa pesquisa ser um pouco diferente.

Também há uma função retrieve_by_email_address no módulo Users que faz algo parecido, e usa uma Query assim:

$emailAddress = strtoupper('test@example.com');

SELECT 
    `id` 
FROM 
    `contacts` 
WHERE 
    id IN 
    ( 
        SELECT  
            `er`.`bean_id` AS id 
        FROM 
            `email_addr_bean_rel` er, `email_addresses` ea 
        WHERE 
            `ea`.`id` = `er`.`email_address_id` 
        AND 
            `contacts`.`deleted` = 0
        AND 
            `ea`.`deleted` = 0 
        AND 
            `er`.`deleted` = 0 
        AND 
            `er`.`bean_module` = 'Contacts' 
        AND 
            `email_address_caps` 
        IN 
            ('{$emailAddress}') 
    )

Deve ser fácil alterar a Query para usar o módulo contas.