У меня есть плагин SugarCrm, который экспортирует данные во внешний сервис. Я использую логику для обновленных / удаленных / новых контактов, но у меня проблема с синхронизацией уже существующих данных. Мне нужно извлечь все данные из SugarCRM, и я попытался использовать два метода SugarBean: get_full_list () и get_list (). Первый дает мне полный список контактов, но мне нужно отправить его партиями 1000 контактов в одном максимуме Json, второй метод возвращает только первую страницу контактов (зависит от настроек конфигурации 10 — 1000 max записей).
Я использую этот метод банкомата:
// prepare contacts data from SugarBean
$bean = BeanFactory::getBean($module);
$contactResults = $bean->get_full_list();
Затем создайте $ contactResults и сохраните нужные мне данные в требуемом формате и отправьте их в виде Json с помощью пост-запроса. Я пытался найти решение, чтобы разбить его на партии, но я застрял 🙁 Мне кажется, ни get_full_list, ни get_list не работают.
Какие-либо предложения? Может, кто-то уже решил эту проблему?
Заранее спасибо!
Для меня это звучит так, как будто твоя проблема — создавать партии? Если нет, пожалуйста, уточните, что не работает.
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
и т. д. Так что в основном запустите цикл, который вызывает get_list $limit
знак равно 1000
и увеличивает начальный $row_offset
из 0
от 1000
после каждой итерации, пока не менее 1000
записи или null
возвращается функцией.Вот несколько общих советов, если у вас возникнут проблемы с обработкой этих бинов:
max_execution_time
или же memory_limit
,Других решений пока нет …