diff --git a/application/Espo/Core/Utils/Database/Orm/Fields/Email.php b/application/Espo/Core/Utils/Database/Orm/Fields/Email.php index 4098ddf97d..58e4053025 100644 --- a/application/Espo/Core/Utils/Database/Orm/Fields/Email.php +++ b/application/Espo/Core/Utils/Database/Orm/Fields/Email.php @@ -33,8 +33,22 @@ class Email extends \Espo\Core\Utils\Database\Orm\Base 'select' => 'email_address.name', 'where' => array ( - 'LIKE' => 'email_address.name LIKE \'{text}\'', - '=' => 'email_address.name = \'{text}\'', + 'LIKE' => \Espo\Core\Utils\Util::toUnderScore($entityName) . ".id IN ( + SELECT entity_id + FROM entity_email_address + JOIN email_address ON email_address.id = entity_email_address.email_address_id + WHERE + entity_email_address.deleted = 0 AND entity_email_address.entity_type = '{$entityName}' AND + email_address.deleted = 0 AND email_address.name LIKE '{text}' + )", + '=' => \Espo\Core\Utils\Util::toUnderScore($entityName) . ".id IN ( + SELECT entity_id + FROM entity_email_address + JOIN email_address ON email_address.id = entity_email_address.email_address_id + WHERE + entity_email_address.deleted = 0 AND entity_email_address.entity_type = '{$entityName}' AND + email_address.deleted = 0 AND email_address.name = '{text}' + )" ), 'orderBy' => 'email_address.name {direction}', ), diff --git a/application/Espo/Core/Utils/Database/Orm/Fields/Phone.php b/application/Espo/Core/Utils/Database/Orm/Fields/Phone.php index d19ceb7460..8ea10a1acf 100644 --- a/application/Espo/Core/Utils/Database/Orm/Fields/Phone.php +++ b/application/Espo/Core/Utils/Database/Orm/Fields/Phone.php @@ -33,8 +33,22 @@ class Phone extends \Espo\Core\Utils\Database\Orm\Base 'select' => 'phone_number.name', 'where' => array ( - 'LIKE' => 'phone_number.name LIKE \'{text}\'', - '=' => 'phone_number.name = \'{text}\'', + 'LIKE' => \Espo\Core\Utils\Util::toUnderScore($entityName) . ".id IN ( + SELECT entity_id + FROM entity_phone_number + JOIN phone_number ON phone_number.id = entity_phone_number.phone_number_id + WHERE + entity_phone_number.deleted = 0 AND entity_phone_number.entity_type = '{$entityName}' AND + phone_number.deleted = 0 AND phone_number.name LIKE '{text}' + )", + '=' => \Espo\Core\Utils\Util::toUnderScore($entityName) . ".id IN ( + SELECT entity_id + FROM entity_phone_number + JOIN phone_number ON phone_number.id = entity_phone_number.phone_number_id + WHERE + entity_phone_number.deleted = 0 AND entity_phone_number.entity_type = '{$entityName}' AND + phone_number.deleted = 0 AND phone_number.name = '{text}' + )" ), 'orderBy' => 'phone_number.name {direction}', ),