我有SugarCrm插件,它将数据导出到外部服务。我正在为更新/删除/新联系人使用逻辑挂钩,但是在同步已经存在的数据方面遇到了问题。我必须从SugarCRM中提取所有数据,我尝试使用了两个SugarBean方法: get_full_list()和get_list()。第一个给出了完整的联系人列表,但我需要在一个Json max中批量发送1000个联系人,第二个方法只返回联系人的第一页(取决于配置设置10-1000max条目)。
我用的是自动取款机:
// prepare contacts data from SugarBean
$bean = BeanFactory::getBean($module);
$contactResults = $bean->get_full_list();然后使用$contactResults并将我想要的数据保存为所需的格式,并通过postrequest将其作为Json发送。我试图找到把它分成几个批次的解决方案,但我被困住了:( get_full_list和get_list似乎都不适合我。)
有什么建议吗?也许有人已经解决了这个问题?提前感谢!
发布于 2017-12-11 17:29:41
在我看来你的问题是批量生产?如果没有,请更具体地说明哪些是不起作用的。
get_list还支持检索后面的页面。它的定义如下:function get_list($order_by = "", $where = "", $row_offset = 0, $limit=-1, $max=-1, $show_deleted = 0, $singleSelect=false, $select_fields = array())。这意味着对于第二个页面,您可以指定$row_offset = 1000,对于第三个页面,可以指定2000等等。因此,基本上运行一个循环,用$limit = 1000调用get_list,并在每次迭代后通过1000增加初始$row_offset,直到函数返回小于1000记录或null为止。如果您在处理这些bean时遇到问题,下面是一些一般性提示:
max_execution_time或memory_limit出现问题。https://stackoverflow.com/questions/47755837
复制相似问题