Thinkphp5获取数据库数据到视图

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

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

数据库配置:

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

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

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

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

<?php

namespace app\index\model;
use think\Model;
class  Course extends Model{

}

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

<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\Course;
//use think\Loader;
class Index extends Controller
{
    public function index()
    {
         $res=Course::get(2)->toArray();
         /*return view("index",[
             "email"=>"[email protected]"
         ]);*/
         return view("index",$res);
}

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

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

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

<?php
namespace app\index\controller;
use think\Db;
use think\Controller;
//use think\Loader;
class Index extends Controller
{
    public function index()
    {
         $res=Db::table("imooc_course")
         ->find(2);
         /*return view("index",[
             "email"=>"[email protected]"
         ]);*/
         return view("index",$res);
}

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

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

本文结束。

原文地址:https://www.cnblogs.com/zhensg123/p/8805934.html

时间: 2024-10-11 03:55:30

Thinkphp5获取数据库数据到视图的相关文章

多线程获取数据库数据

在开发中,如大量获取数据时,不但速度慢,而且影响效率,下面就给大家介绍下用多线程获取数据库数据: 1.首先新建一个获取实体列表的方法,如想获取数量或其他类型,需要另外编写方法,这里只是做简单的介绍: /// <summary> /// 根据SQL语句返回实体集合,这里不能返回IQueryable,否则在线程中会获取不到上下文对象 /// </summary> /// <typeparam name="T"></typeparam> ///

C#后台获取数据库数据--ADO.NET

关于获取数据库中的数据到后台,可分为4个步骤:1.获取连接数据库的字符串:2.创建SqlConnection对象用于打开数据库:3.创建SqlCommand对象用于执行操作,设置它的一系列属性即可:4.关闭数据库连接.完成了这个四个步骤就可获取到数据库中的数据. //第一步 string connStr = "Data Source=.;Initial CataLog=MyData;User ID=sa;Password=123456"; //第二步 SqlConnection con

Flask04 后台获取请求数据、视图函数返回类型、前台接受响应数据

1 后台获取请求数据 1.1 提出问题 前台发送请求的方式有哪些 后台如何获取这些请求的参数 1.2 前台发送请求的方式 GET.POST.AJAX 点睛:如果不指定请求方式,浏览器默认使用GET请求 点睛:进入登录页面的请求和提交登录信息的请求使用的路径都是一样的,只不过前往登录页面的请求是GET请求,服务器返回的是一个静态的页面:当录入登录信息点击确定后就会向后台发送一个POST请求,后台经过逻辑处理后,如果登录信息正确就会返回一个静态主页面(注意:虽然这两个请求都是使用的一样的路径,但是我

jmeter JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原件(配置数据库连接的相关属性,如连接名.密码等)一起使用. 一.准备工作 1.本文使用的是mysql数据库进行测试,数据库的用户名为root(你自己的用户名),用户名密码为*********(你自己的密码) 2.数据库中有表:test,表的数据结构如下: 表中数据如下: select * from

java获取数据库数据表的元数据

Connction conn; DatabaseMetaData dmd=conn.getMetaData();//获取数据库元数据 PreparedStatment ps; ps.getParameterMetaData; //得到参数占位符的元数据 ResultSet rs; ResultSetMetaData rsmd=rs.getMetaData();//获取结果集的元数据

构造From窗体获取数据库数据,去除数据库中无用信息,并赋值给字段,最后画出图

private void cbNum_SelectedIndexChanged(object sender, EventArgs e) { FieldListLug.Clear();//继续清除字段 if (cbType.Text == A)//选择了A { string killedString = ""; killedString = "ID,lugNumber,q1,q2,DnX,DnD,Th,kg"; DataTable tbSize =GetAccessD

38)PHP,获取数据库数据并在html中显示(晋级5)

首先是我的文件关系: 我的主php文件是index.php,我的配置文件php是BBB.php  我的数据库操作文件是  b.php    我的html文件是login.html 我的index.php代码展示: 1 <?php 2 $sql='select * from zixun;'; 3 $config=include './BBB.php'; 4 include './b.php'; 5 6 $shujuku=new db($config); 7 include './login.htm

nodejs+express+mongoose无法获取数据库数据问题解决

通过mongoose与mongodb进行操作.而mongoose是通过model来创建mongodb中对应的collection的,这样你通过如下的代码: mongoose.model('User', UserSchema); 在相应的数据库中创建一个collection时,第一反应肯定会推断在对应的数据库中会建立一个'User'的collection,但是事实却与推断完全不一样,mongoose在内部创建collection时将我们传递的collection名小写化,同时如果小写化的名称后面没