栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过ID以外的任何方式获取记录-SugarCRM

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过ID以外的任何方式获取记录-SugarCRM

要通过匹配非id字段来获取记录,可以使用记录过滤器API

/<module>/filter
(请参阅文档或
/rest/v10/help
Sugar的文档)来指定要搜索哪些值的字段。

如果最多只关心一条匹配的记录,请

"max_num": 1
在选项中指定。

作为响应,您将收到一个json对象,该对象包含一个

records
包含匹配记录的数组。

按电子邮件地址过滤

电子邮件地址以前存储在字段email1,email2等中。那些旧字段仍然存在于Sugar> = 7(目前)中,可以与请求有效负载一起使用,如下所示:

{    max_num: 1,    filter: [        {"email2": "test@secondary.test"},    ],    fields: ["id"],}

这将仅在辅助电子邮件地址中搜索电子邮件地址。

但是,在现代的Sugar中,电子邮件地址存储在一个由关系支持的链接字段中

email_addresses
,该字段连接到EmailAddress记录,可以通过以下方式进行搜索:

{    max_num: 1,    filter: [        {"email_addresses.email_address": {"$equals": "test@something.test"}},    ],    fields: ["id"],}

这将返回与 任何 电子邮件地址匹配的记录。不管是主要的还是另一种。

随机相关笔记

  • 过滤器端点显然支持
    GET
    POST
    方法,因此您可以选择是通过请求的查询字符串还是在请求正文中传输过滤器定义和选项。
  • GET
    /<module>
    端点的请求将使用相同的基础过滤器API。但是,您不能使用
    POST
    on进行过滤
    /<module>
    ,因为该组合保留用于创建新记录。
  • 如果不确定在Sugar过滤器语法中搜索条件应该是什么样子,则可以使用Sugar在模块列表视图中创建示例过滤器,然后在浏览器的调试器的``网络’‘选项卡中检查Sugar产生的请求有效载荷是什么样。
  • 如果您需要通配符搜索,则可以通过使用通配符来实现
    %
    ,例如,for
    %@whatever.test
    似乎需要使用与操作符不同的运算符
    $equals
    ,例如,
    $starts
    $contains
  • 如果您只关心匹配数而不是实际记录,则将过滤器发送到
    /<module>/count
    GET
    )端点或
    /<module>/filter/count
    GET
    POST
    )。
  • 在开发测试期间,我建议使用
    max_num
    比预期返回值高的值,以确保在由于过滤器定义不正确而导致结果出现误报时立即看到它。还是要
    next_offset
    在响应json中密切注意:
    -1
    如果没有比响应中已经返回的结果更多的结果,它将具有该值。
  • $equals
    运算符有一个简短的表示法,例如
    {"email_addresses.email_address": {"$equals": "test@something.test"}},
    也可以写成
    {"email_addresses.email_address": "test@something.test"}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号