介绍
如何在tp5项目中实现一个多数据库查询功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> 1。进行多个数据库的配置强>
默认会连接数据库。php中的数据库信息。
& lt; php ?//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//,|,ThinkPHP [, WE 还要DO IT JUST THINK 】//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;Copyright (c), 2006 ~ 2016, http://thinkphp.cn All rights 保留。//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;Licensed (, http://www.apache.org/licenses/license - 2.0)//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//时间|大敌;;作者:,liu21st & lt; liu21st@gmail.com>//,+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return [//才能,数据库类型 & # 39;才能类型# 39;,,,,,,=祝辞,& # 39;mysql # 39;//,才能服务器地址 & # 39;才能主机名# 39;,,,,=祝辞,& # 39;& # 39;//才能,数据库名 & # 39;才能数据库# 39;,,,,=祝辞,& # 39;& # 39;//才能,数据库用户名 & # 39;才能用户名# 39;,,,,=祝辞,& # 39;& # 39;//才能,数据库密码 & # 39;才能密码# 39;,,,,=祝辞,& # 39;& # 39;//才能,数据库连接端口 & # 39;才能hostport& # 39;,,,,=祝辞,& # 39;3306 & # 39;//才能,数据库编码默认采用utf8 & # 39;才能字符集# 39;,,,,,=祝辞,& # 39;& # 39;//才能,数据库表前缀 & # 39;才能前缀# 39;,,,,,=祝辞,& # 39;& # 39; ];
tp5会自动加载database.php
我们可以在额外的文件夹中,再创建几个其他数据库的配置,比如database_mall, database_live, database_app等。
<强> 2。初始化强>
在模型模块中进行初始化
& lt; php ? namespace 应用\ admin \模型; use 认为\模式; use 认为\分贝; class LiveRecharge  extends 模型 { protected 才能;db_app美元; function 才能;__construct () {才能 ,,,这个→美元db_app =, Db:连接(& # 39;database_app& # 39;); ,,} }
<强> 3。使用强>
$ this→db_app→表(& # 39;订单# 39;)→选择();
这样就可以查询其他数据库中的数据了。
下面是全的代码:
& lt; php ? namespace 应用\ admin \模型; use 认为\模式; use 认为\分贝; class LiveRecharge  extends 模型 { protected 才能;db_app美元; function 才能;__construct () {才能 ,,,这个→美元db_app =, Db:连接(& # 39;database_app& # 39;); ,,}//,才能获取分页 public 才能;function  getList ($ customer_id =, & # 39; & # 39;, nickname 美元;=,& # 39;& # 39;,paytime 美元;=,& # 39;& # 39;,pagesize 美元;=,& # 39;& # 39;) {才能 ,,,pagesize 美元;=,pagesize 美元;,,,pagesize 美元;祝辞,0,?,pagesize 美元;:,配置(& # 39;default_page_size& # 39;); ,,,where 美元;=,数组(); ,,,,美元[& # 39;o.type& # 39;],=, 3; ,,,if (customer_id美元),{ ,,,,,,美元[& # 39;o.uid& # 39;],=, customer_id美元; ,,,} ,,,if (昵称),{ ,,,,,,美元[& # 39;c.NickName& # 39;],=,(& # 39;像# 39;& # 39;% & # 39;。美元昵称强生# 39;% & # 39;]; ,,,} ,,,if (paytime美元),{ ,,,,,,美元[& # 39;o.addtime& # 39;],=,数组((& # 39;祝辞& # 39;,本市paytime # 39;美元,0 # 39;],,(& # 39;& lt; & # 39;,本市paytime # 39;美元,23:59 # 39;]); ,,,} ,,,result 美元;=,$ this→db_app→表(& # 39;订单# 39;) ,,,,,→别名(& # 39;o # 39;) ,,,,,,,(美元) ,,,,,→加入(& # 39;customer c # 39;, & # 39; o.uid =, c.Id& # 39;) ,,,,,→字段(& # 39;o。*, c.NickName as 昵称# 39;)→随意翻阅($页大小,假的, ,,,,,,,& # 39;查询# 39;,=祝辞,( ,,,,,,,,,& # 39;customer_id # 39;=祝辞customer_id美元, ,,,,,,,,,& # 39;昵称# 39;=祝辞昵称美元, ,,,,,,,,,& # 39;paytime& # 39;=祝辞paytime美元 ,,,,,,,) ,,,,,); ,,,page 美元;=,结果→美元呈现();,//,分页 ,,,data 美元;=,结果→美元(),,//,数据 null null null null null null null null null null null如何在tp5项目中实现一个多数据库查询功能