我确实搜索了解决方案,但没有发现任何帮助。这个问题是关于使用带有数据映射器的多个数据库,但我已经使用了这种方法。
用户模型:
class User extends DataMapper {
var $prefix = "app_";
var $db_params = 'default';
...
公司型号:
class Company extends DataMapper {
var $prefix = "tbl_";
var $db_params = 'super';
...
我有上述型号。它们与用户拥有一个公司和公司拥有许多用户相关。当我创建公司时,将自动创建一个用户并成功建立关系。
但是,当我尝试删除公司或尝试访问用户的相关公司时。DataMapper 在错误的位置查找用户表。
我收到以下错误:
A Database Error Occurred
Error Number: 1146
Table 'a1210alf.app_users' doesn't exist
SELECT `tbl_companies`.* FROM (`tbl_companies`) LEFT OUTER JOIN `app_users` app_users ON `tbl_companies`.`id` = `app_users`.`company_id` WHERE `app_users`.`id` = 4
在我的 CI 配置中,我对两个数据库“默认”和“超级”有两种不同的设置。我在模型中设置了正确的一个。表 app_users 确实存在,所需的所有字段都在那里。不知道我做错了什么。