跨应用跨库调用模型进行查询报错
来源:3-13 模型查询其他使用讲解
qq_玩乐_0
2020-01-15
我有两个数据库elite_user 和 elite_system
然后在框架中定义了两个应用分别为user 和 system
user应用是写了elite_user库的数据库配置 system应用是写了 elite_system库的连接
但是当我在user应用中调用 system 中的模型进行查询的时候报错如下
sys_auth_rule表是在system库中的
他自动帮我在前面加上了elite_user库导致无法查询 请问要怎么解决?
写回答
1回答
-
天经地义
2020-01-21
您好,是不是在user和system中都创建了config/database.php,然后跨应用去实例化模型,这样是会发生这种错误的;您可以这样做,
删除每个应用里面的database.php这个配置文件
在根目录下的config/database.php中创建两个连接配置(如下图一)
在模型中设置连接的配置(如下图二)
这样配置之后呢,不管哪个应用哪里实例化的该模型,这个模型只会连接到你配置的连接信息(elite_system数据库),如果是连接不同的服务器不同数据库之类的都可以这么做,如下图
具体可以参考TP6官方手册的连接数据库:https://www.kancloud.cn/manual/thinkphp6_0/1037531
112020-02-08
相似问题