我有这个项目,应该根据当前用户使用不同的数据库。我正在使用带有 Datamapper 扩展的 codeigniter。
理想的情况是在控制器中设置不同的连接组,我可以在我的数据映射器模型中使用,例如:
var $db_params = 'user_specific';
然而,与配置参数不同,数据库参数似乎无法从控制器内部访问。在回答这个问题时,我确实找到了一种在创建新数据映射器对象时需要传递变量 ($db) 的方法。
$customers = new customer(NULL, $db);
// The NULL I would need becuase the constructor expects an ID or nothing by default
但是,大多数模型都会使用动态设置,因此在任何地方添加 $db 变量需要做很多工作......有没有其他解决方案,所以我可以做
$customer = new customer();
// And in my model use the dynamic 'config' settings like
var $db_params = 'user_specific';
这将是一个很大的帮助。提前致谢。