我在潜在客户模块中制作了自定义下拉字段。它是从引导模块的用户表中动态获取用户的密钥=>价值对。
该字段工作正常,但在编辑模式下(创建新的潜在客户)...该值未被存储,而是存储的密钥不是值..
我的意思是,而不是'詹姆斯邦德',id正在存储..这就像'7896877'
现在有趣的是,在sugarcrm(引导模块)的详细视图中,名称显示正确,因为我希望它能够工作。在列表视图中,它显示ID,并在数据库中显示为KEY,即哈希ID。
这是功能:
function getUSERS($bean) {
$resultArray = Array();
$query = "select id,(first_name + ' ' + last_name) AS Name from dbo.users ORDER BY first_name ASC";
$resultArray [''] = '';
$result = $bean->db->query($query);
while ($row = $bean->db->fetchByAssoc($result)) {
$resultArray[$row['id']] = $row['Name'];
}
return $resultArray;
}
答案 0 :(得分:0)
Sugar中的下拉工作作为键/值配对,关键是存储在数据库中的内容,Sugar执行适当的查找以显示值。除了列表视图似乎对动态下拉列表的工作方式不同。
您可以使用用户名$resultArray[$row['id'] ]= $row['Name']
而不是将数组构建为$resultArray[$row['username'] ]= $row['Name']
,因为用户名必须是唯一的,但在列表视图中对您的用户更有意义。
但是,您是否有任何理由不在Users模块中使用关联字段?这应该可以在没有任何编码的情况下解决所有问题。