如何通过 JTable 访问 Joomla 中的联系人?
How to access contacts in Joomla via JTable?
仍在处理我的组件,我目前正在尝试添加、编辑和删除联系人。我发现它们位于 contact_details。使用 JFactory::getDBO() 访问它们是有效的。文档说,使用 JTable 更安全,并且是使用数据库的预期方式。
使用 JTable::getInstance('contact_details') 会导致错误提示 'contact_details' 不受支持。有没有办法使用 JTable 访问 contact_details?我是否必须创建自定义 table 才能使其正常工作?
提前致谢!
JTable::getInstance()
的参数不是数据库的名称 table 它是 table class 的名称。在这种情况下,如果您查看 /administrator/components/com_contant/tables
,您会看到 table class 名称插入 ContactTableContact
,这是 Joomla 中 table 的常规模式!其中第一个 table 给出位置(API 将剥离 com_
第二个表示它是 table class 并且在 table 或 tables 文件夹(后者是遗留的),最后一段是文件的名称。因此 JTable::getInstance('ContactTableContact')
应该可以为您解决问题。
仍在处理我的组件,我目前正在尝试添加、编辑和删除联系人。我发现它们位于 contact_details。使用 JFactory::getDBO() 访问它们是有效的。文档说,使用 JTable 更安全,并且是使用数据库的预期方式。
使用 JTable::getInstance('contact_details') 会导致错误提示 'contact_details' 不受支持。有没有办法使用 JTable 访问 contact_details?我是否必须创建自定义 table 才能使其正常工作?
提前致谢!
JTable::getInstance()
的参数不是数据库的名称 table 它是 table class 的名称。在这种情况下,如果您查看 /administrator/components/com_contant/tables
,您会看到 table class 名称插入 ContactTableContact
,这是 Joomla 中 table 的常规模式!其中第一个 table 给出位置(API 将剥离 com_
第二个表示它是 table class 并且在 table 或 tables 文件夹(后者是遗留的),最后一段是文件的名称。因此 JTable::getInstance('ContactTableContact')
应该可以为您解决问题。