当前位置:首页 > CMS教程 > Thinkphp > 列表

Thinkphp5框架实现获取数据库数据到视图的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-11 20:04:00 浏览: 评论:0 

本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法,分享给大家供大家参考,具体如下:

这是学习thinkhp5的基础篇笔记。

这里主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图。

数据库配置:

thinkphp5的数据库配置默认在conf下的database.php下面,我的数据库配置项目如下:

  1. <?php 
  2.  return [ 
  3.     // 数据库类型 
  4.     'type'      => 'mysql'
  5.     // 数据库连接DSN配置 
  6.     'dsn'       => ''
  7.     // 服务器地址 
  8.     'hostname'    => '127.0.0.1'
  9.     // 数据库名 
  10.     'database'    => 'course'
  11.     // 数据库用户名 
  12.     'username'    => 'root'
  13.     // 数据库密码 
  14.     'password'    => ''
  15.     // 数据库连接端口 
  16.     'hostport'    => '3306'
  17.     // 数据库连接参数 
  18.     'params'     => [], 
  19.     // 数据库编码默认采用utf8 
  20.     'charset'     => 'utf8'
  21.     // 数据库表前缀 
  22.     'prefix'     => 'imooc_'
  23.     // 数据库调试模式 
  24.     'debug'      => false, 
  25.     // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 
  26.     'deploy'     => 0, 
  27.     // 数据库读写是否分离 主从式有效 
  28.     'rw_separate'   => false, 
  29.     // 读写分离后 主服务器数量 
  30.     'master_num'   => 1, 
  31.     // 指定从服务器序号 
  32.     'slave_no'    => ''
  33.     // 是否严格检查字段是否存在 
  34.     'fields_strict'  => true, 
  35.     // 数据集返回类型 
  36.     'resultset_type' => 'array'
  37.     // 自动写入时间戳字段 
  38.     'auto_timestamp' => false, 
  39.     // 时间字段取出后的默认时间格式 
  40.     'datetime_format' => 'Y-m-d H:i:s'
  41.     // 是否需要进行SQL性能分析 
  42.     'sql_explain'   => false, 
  43.     // Builder类 
  44.     'builder'     => ''
  45.     // Query类 
  46.     'query'      => '\\think\\db\\Query'
  47. ]; 

主要配置的项目是数据库服务器地址hostname,数据库名database,数据库用户名username和数据库密码password,还有一个表前缀prefix。配置之后就可以使用tp5的查询语句查询数据库了。

查询数据库数据阶段,使用了tp5的模型类,这样就可以直接利用tp5自带的数据库查询方法,下面是model代码:

  1. <?php 
  2. namespace app\index\model; 
  3. use think\Model; 
  4. class Course extends Model{ 

然后将model代码引入到控制器的方法内,使用即可,使用代码如下,使用之前要引入哦

  1. <?php 
  2. namespace app\index\controller; 
  3. use think\Controller; 
  4. use app\index\model\Course; 
  5. //use think\Loader; 
  6. class Index extends Controller 
  7.   public function index() 
  8.   { 
  9.      $res=Course::get(2)->toArray(); 
  10.      /*return view("index",[ 
  11.        "email"=>"123456@163.com" 
  12.      ]);*/ 
  13.      return view("index",$res); 

这样就可以了,哈哈;很多没有交代清楚的地方好像。tp5操作数据库可以有2种方法,具体又分3种方法,两种是使用Db类和继承数据库模型;三种是Db下可以使用tp的查询也可以使用原生的查询。

需要注意的是,find和select是查询构造器的方法,get和all是模型的方法。但模型又是基于查询构造器的,所以模型可以调用find和select方法,但是查询构造器不能调用get和all方法。

如果利用Db类的话,上面实现的方式变为

  1. <?php 
  2. namespace app\index\controller; 
  3. use think\Db; 
  4. use think\Controller; 
  5. //use think\Loader; 
  6. class Index extends Controller 
  7.   public function index() 
  8.   { 
  9.      $res=Db::table("imooc_course"
  10.      ->find(2); 
  11.      /*return view("index",[ 
  12.        "email"=>"123456@163.com" 
  13.      ]);*/ 
  14.      return view("index",$res); 

注意的是find方法返回的直接是数组形式了,而不需要再进行数组转化。

关于tp5操控数据库有很多方法,这里只是记录下查询数据库的基本操作实现。

Tags: Thinkphp5获取数据库数据

分享到: