泛舟湖上清波郎朗
2023-08-05 11:08:07
使用與 SugarCRM 連接的 suiteCRM 查詢,我需要檢索具有特定用戶和客戶端 ID 的所有機會,因為客戶端 ID (account_id) 不可查詢(至少不能直接查詢)。所以這意味著我不能使用這樣的語法: session: await CRMAuth.getSession(), modules: CRM_MODULES.OPPORTUNITY, query: `assigned_user_id = '${uid}' AND account_id = '${client_id}'`, order_by: 'date_modified DESC', offset: 0, select_fields: [ 'id', 'name', ], link_name_to_fields_array: [], max_results: 100, deleted: false,但我應該有這樣的查詢: session: await CRMAuth.getSession(), modules: CRM_MODULES.OPPORTUNITY, query: `opportunities.assigned_user_id = '${uid}' AND opportunities.id IN ( SELECT opportunity_id FROM accounts_opportunities r JOIN accounts a ON (r.account_id = a.id) WHERE a.id = '${account_id}' AND r.deleted=0 and a.deleted=0)`, order_by: 'date_modified DESC', offset: 0, select_fields: [ 'id', 'name', ], link_name_to_fields_array: [],max_results: 100, 刪除: false,我嘗試了不同的變體,例如模塊/表名稱中的大寫字母,并在“r”、“a”之前添加 AS(甚至我用全名替換了它們)。我也嘗試了更簡單的查詢,但仍然遇到相同的錯誤。另外看看類似的問題,我可以保證這不是會話問題,而是語法問題。
1 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
我的兩個錯誤是:
顛倒關聯模塊
使用 get_entry_list 方法而不是 get_relationships (此方法要求不同的參數)
獲取關系
所以我最終得到了這個結構
let response = await CRM(CRM_METHODS.GET_RELATIONSHIPS, {
? session: await CRMAuth.getSession(),
? module_name: CRM_MODULES.ACCOUNTS,
? module_id: '${client_id}',
? link_field_name: `opportunities`,
? related_module_query:`opportunities.assigned_user_id = '${uid}'`,
? related_fields: [*the fields i want*],
? related_module_link_name_to_fields_array:[],
? deleted: 0,
});
請注意:模塊(機會、帳戶等)沒有 ID,“module_id”字段是您正在使用的記錄的 ID,在我的例子中是我的客戶的 ID。
這為我帶來了特定用戶為特定客戶創造的所有機會
添加回答
舉報
0/150
提交
取消