向一列添加多个值
Add mutiple values to one column
我们正在开发一个基于 SilverStripe 的网站,该网站与 SugarCRM 数据库相连。
我们创建了一个具有多个值的 CheckboxSet
的表单,并将其存储在一个名为 $data['Interessen']
的变量中
$set_entry_parameters = array(
"session" => $session_id,
"module_name" => "Contacts",
"name_value_list" => array(
array(
"name" => "interessen_c",
"value" => $data['Interessen']['fotografie']
),
array(
"name" => "interessen_c",
"value" => $data['Interessen']['dance']
)
)
);
现在最后一个 "interessen_c"
的数组会覆盖之前的值。我们想一次添加多个值。
这怎么可能?
如果 $data['Interessen'] 的内容只能从固定的可能性列表中获取值,我建议将字段设为 interessen_c 输入 multienum
("Multi-Selection Dropdown" 字段)。
为该字段创建 Sugar 中所有可用项目的列表(例如在 Studio 中或通过代码手动创建 app_list_strings 条目)。
Sugar 将在此字段中支持多个值并很好地显示它们。
如果您的程序通过与 Sugar REST API 通信来写入数据,那么您只需将 $data['Interessen']
数组作为 interessen_c
的值传递,Sugar 就会知道该怎么做有了它。
如果您的程序直接将数据写入数据库中的interessen_c字段,则字段内容必须遵循以下格式:
^value1^,^value2^,^value3^
因此每个值周围有 ^
,所有项目由 ,
分隔
这里有一个如何将数组值转换为 PHP 中这样的字符串的示例:
$interessen = array();
foreach ($data['Interessen'] as $value) {
// add value surrounded by ^ to array
$interessen[] = "^$value^";
}
// transform values in array to string with items being separated by ,
$interessen = implode(',', $interessen);
旁注:
在 Sugar 中,可以使用 encodeMultienumValue($arr)
和 unencodeMultienum($string)
来回转换数组和数据库字符串格式。
这两个函数都在 include/utils.php
中定义
我们正在开发一个基于 SilverStripe 的网站,该网站与 SugarCRM 数据库相连。
我们创建了一个具有多个值的 CheckboxSet
的表单,并将其存储在一个名为 $data['Interessen']
$set_entry_parameters = array(
"session" => $session_id,
"module_name" => "Contacts",
"name_value_list" => array(
array(
"name" => "interessen_c",
"value" => $data['Interessen']['fotografie']
),
array(
"name" => "interessen_c",
"value" => $data['Interessen']['dance']
)
)
);
现在最后一个 "interessen_c"
的数组会覆盖之前的值。我们想一次添加多个值。
这怎么可能?
如果 $data['Interessen'] 的内容只能从固定的可能性列表中获取值,我建议将字段设为 interessen_c 输入 multienum
("Multi-Selection Dropdown" 字段)。
为该字段创建 Sugar 中所有可用项目的列表(例如在 Studio 中或通过代码手动创建 app_list_strings 条目)。
Sugar 将在此字段中支持多个值并很好地显示它们。
如果您的程序通过与 Sugar REST API 通信来写入数据,那么您只需将 $data['Interessen']
数组作为 interessen_c
的值传递,Sugar 就会知道该怎么做有了它。
如果您的程序直接将数据写入数据库中的interessen_c字段,则字段内容必须遵循以下格式:
^value1^,^value2^,^value3^
因此每个值周围有 ^
,所有项目由 ,
这里有一个如何将数组值转换为 PHP 中这样的字符串的示例:
$interessen = array();
foreach ($data['Interessen'] as $value) {
// add value surrounded by ^ to array
$interessen[] = "^$value^";
}
// transform values in array to string with items being separated by ,
$interessen = implode(',', $interessen);
旁注:
在 Sugar 中,可以使用 encodeMultienumValue($arr)
和 unencodeMultienum($string)
来回转换数组和数据库字符串格式。
这两个函数都在 include/utils.php