Sugarcrm 创建能够搜索多个模块字段的高级搜索字段

Sugarcrm 创建能够搜索多个模块字段的高级搜索字段,sugarcrm,suitecrm,Sugarcrm,Suitecrm,我目前在尝试构建一个自定义搜索字段(本身绑定到模块上一个未使用的字段)来搜索两个电话号码字段时遇到了一些问题。涉及搜索字段修改的文档非常糟糕,但是我在模块的SearchFields.php中提供了以下内容 'phone' => array ( 'query_type' => 'default', 'operator' => '=', 'db_field' => array ( 0 => 'home_phone_

我目前在尝试构建一个自定义搜索字段(本身绑定到模块上一个未使用的字段)来搜索两个电话号码字段时遇到了一些问题。涉及搜索字段修改的文档非常糟糕,但是我在模块的SearchFields.php中提供了以下内容

  'phone' => 
  array (
    'query_type' => 'default',
    'operator' => '=',
    'db_field' => 
    array (
      0 => 'home_phone_c',
      1 => 'work_phone_c',
    ),
  ),
该字段本身不返回任何结果,因此我是否遗漏了一些会阻止此操作的内容?

为什么不为此使用“子查询”操作符?请参阅帐户模块元数据文件夹中的SearchFields.php。您将看到如下条目:

'email' => 
  array (
    'query_type' => 'default',
    'operator' => 'subquery',
    'subquery' => 'SELECT eabr.bean_id FROM email_addr_bean_rel eabr JOIN email_addresses ea ON (ea.id = eabr.email_address_id) WHERE eabr.deleted=0 AND ea.email_address LIKE',
    'db_field' => 
    array (
      0 => 'id',
    ),
    'vname' => 'LBL_ANY_EMAIL',
  ),
这将帮助您理解这样做的逻辑

为什么不为此使用“子查询”操作符?请参阅帐户模块元数据文件夹中的SearchFields.php。您将看到如下条目:

'email' => 
  array (
    'query_type' => 'default',
    'operator' => 'subquery',
    'subquery' => 'SELECT eabr.bean_id FROM email_addr_bean_rel eabr JOIN email_addresses ea ON (ea.id = eabr.email_address_id) WHERE eabr.deleted=0 AND ea.email_address LIKE',
    'db_field' => 
    array (
      0 => 'id',
    ),
    'vname' => 'LBL_ANY_EMAIL',
  ),

这将帮助您理解这样做的逻辑

您需要指定正确的表。请尝试以下代码(或使用正在搜索的表):


您需要指定正确的表。请尝试以下代码(或使用正在搜索的表):