如何在tp5项目中实现一个多数据库查询功能

  介绍

如何在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项目中实现一个多数据库查询功能