Я пытаюсь получить отдельную учетную запись и некоторые конкретные поля, используя устаревший API REST SugarCRM. Я работаю над SuiteCRM, и они используют те же устаревшие вызовы REST API. У меня есть другой foreach, похожий на этот, который отлично работает. Единственная проблема заключается в том, что эта программа будет возвращать только запрошенную информацию, а не отношения, которые я вызываю в link_name_to_fields_array.
Заранее спасибо. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Я последовал этому примеру Вот
Мой код выглядит следующим образом
foreach ( $uids as $uid ) {
//retrieve records -----------------------------------
$get_entries_parameters = array(
//session id
'session' => $session,
//The name of the module from which to retrieve records
'module_name' => 'fs_payments',//An array of SugarBean IDs
'ids' => array(
$uid
),
'query' => "",
'order_by' => "",
'offset' => "0",
'link_name_to_fields_array' => array(
array(
'name' => 'fs_billing_fs_payments_1',
'value' => array(
'first_name',
'qb_studentid'
),
),
),);
Просто сделал вызов API, чтобы получить все ссылки, и я подтвердил, что имя ссылки должно быть таким, каким оно должно быть, и нет никаких причин возвращать пустой массив.
Linked Fields for fs_payments
fs_billing_fs_payments_1
[name] -> 'fs_billing_fs_payments_1'
[type] -> 'link'
[relationship] -> 'fs_billing_fs_payments_1'
[module] -> 'fs_billing'
[bean_name] -> 'fs_billing'
У кого-нибудь есть лучший пример, чем этот(также показано ниже), поскольку, по моему мнению, это не очень полезно, поскольку истинные отношения / ссылки в CRM имеют такие имена, как ‘fs_billing_fs_payments_1’, и, как показано в примере, они не работают.
$get_entries_parameters = array(
//session id
'session' => $session_id,
//The name of the module from which to retrieve records
'module_name' => 'Accounts',
//An array of record IDs
'ids' => array(
'14b0c0ca-3ea2-0ee8-f3be-50aa57c11ee7',
),
//The list of fields to be returned in the results
'select_fields' => array(
'name',
'billing_address_state',
'billing_address_country'
),
//A list of link names and the fields to be returned for each link name
'link_name_to_fields_array' => array(
array(
'name' => 'email_addresses',
'value' => array(
'email_address',
'opt_out',
'primary_address'
),
),
),
//Flag the record as a recently viewed item
'track_view' => true,
);
Мне удалось использовать отношения set_entry и bean-компонента, встроенные в suiteCRM, для извлечения
qb_studentid и accoutingclass и устанавливают их как скрытые поля, используя отдельную функцию, чтобы они отображались в массиве при извлечении, используя запись get в фактическом вызове API, чтобы получить большой массив.
Этот файл вызывается с использованием логической ловушки, чтобы гарантировать, что все идентификаторы qb_student извлекаются
после оплаты синхронизируется. Если вам требуется более подробная информация, пожалуйста, дайте мне знать. Я боролся с этой проблемой в течение некоторого времени и до сих пор не получил ответа ни от кого, ни здесь, ни на форумах сообщества sugarcrm или suitecrm. Это скорее обходной путь, если что-нибудь.
Вы передаете неправильное имя ссылки в link_name_to_fields_array
,
Ваше имя поля ссылки fs_billing_fs_payments_1
но вы проходите fs_billing_fs_payments_1_c
,