我有一个需要远程连接的数据库,它与 Joomla 数据库不同。
我可以在其他模型中轻松做到这一点,但 JModelAdmin 给出了一些问题,因为它似乎需要 JTable 才能运行。
我试图覆盖 JTable 实例以改用我的外部数据库,但是它似乎不想工作并且在“重置”中出现错误。我的猜测是 JTable 也需要访问核心 Joomla 表。
有什么简单的方法可以做到这一点?还是覆盖核心是唯一的选择?
编辑:为了澄清我可以让 Joomla 连接到数据库并运行查询。唯一的问题是 JTable 拒绝使用外部数据库正确初始化。
这是我模型中的构造函数:
function __construct($config = array()){
$config['dbo'] = TireApiHelper::tireAPIDB();
parent::__construct($config);
}
这适用于我的列表模型,但不适用于我的管理模型。我的列表模型不需要表类,但是控制器需要使用管理模型来发布/取消发布,这就是问题所在。即使 JTable 使用当前设置的数据库实例,它也会返回 false 而没有 Joomla 错误(根据代码,如果$table
返回 false,我应该会看到 joomla 错误。