如何转储 SuiteCRM $bean

问题描述

我是suitcrm 的新手。我需要使用逻辑挂钩连接到外部数据库。 我的第一个想法是查看事件触发时 $bean 变量中有哪些数据可用。所以我放了一个

class testAccount_class
{
        function testingAccount($bean,$event,$arguments)
        {
                #$bean->first_name=strtoupper($bean->first_name);
                error_log("Account Before Save\nBean:\n" . print_r($bean,TRUE));                
                error_log("====================================\n");
        }
}
 

在钩子类文件中。但是我在转储中看到的所有内容

Account Before Save
Bean:
Account Object
(
    [field_name_map] => Array
        (
            [id] => Array
                (
                    [name] => id
                    [vname] => LBL_ID
                    [type] => id
                    [required] => 1
                    [reportable] => 1
                    [comment] => Unique identifier
                    [inline_edit] => 
                )

            [name] => Array
                (
                    [name] => name
                    [type] => name
                    [dbType] => varchar
                    [vname] => LBL_NAME
                    [len] => 150
                    [comment] => Name of the Company
                    [unified_search] => 1
                    [full_text_search] => Array
                        (
                            [boost] => 3
                        )

                    [audited] => 1
                    [required] => 1
                    [importable] => required
                    [merge_filter] => selected
                )

            [date_entered] => Array
                (
                    [name] => date_entered
                    [vname] => LBL_DATE_ENTERED
                    [type] => datetime
                    [group] => created_by_name
                    [comment] => Date record created
                    [enable_range_search] => 1
                    [options] => date_range_search_dom
                    [inline_edit] => 
                )
..... cut off the rest ....

我没有看到任何预期的记录数据。我在这里可能做错了什么?我是否需要调用其他方法才能真正获取数据?

谢谢,

解决方法

这是正确的方法,一些注意事项

  1. $bean->id 为新记录时为空。
  2. 确保您阅读了所有 print_r 输出,它非常广泛,但包含您要查找的数据。
  3. $bean->column_fields 返回一个包含 bean 字段的数组,您可以使用该数组来访问数据,例如 $bean->$column_field_item

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...