一、数据模型作用

  相同功能代码不用重复写多次

二、创建方式

  在模块下建立model文件夹,php文件,文件名为数据库表名,其中类为数据库表名,继承Model类,模型层即为此表

    namespace app\demo\model;

    use think\Model;
class Ceshi extends Model{ }

三、控制器调用,查询

    namespace app\demo\controller;
//调用类继承
use think\Controller;
//调用模型
use app\demo\model\Ceshi;
class Test extends Controller{
public function test(){
//实例化模型
$p = new Ceshi;
//get id为1的数据,转为数组
dump($p->get(1)->toArray());
//类调用一条
$data = Ceshi::get(['pin'=>'zhangsan']);
dump($data->toArray());
//类调用多条
$data = Ceshi::all(['pin'=>'zhangsan']);
foreach($data as $k => $v){
dump($v->toArray());
}
}
}

  //find方法

//$data = $p->where('pin','zhangsan')->find();

四、增加数据

    namespace app\demo\controller;
//调用类继承
use think\Controller;
//调用模型
use app\demo\model\Ceshi;
class Test extends Controller{
public function test(){
//实例化模型
$p = new Ceshi;
//增加一条数据
//方法一:赋值,保存
$p->pin = 'yonghu1';
$p->name = '用户1';
$p->save();
//方法二:批量赋值
$p->data([
'pin'=>'yonghu2',
'name'=>'用户2'
]);
$p->save();
//只允许某些字段写入
$p->data([
'pin'=>'yonghu3',
'name'=>'用户3',
'pwd'=>'123'
]);
$p->allowField(['pin','name'])->save();
//过滤不是该表中有的字段,
allowField(true)
//增加多条数据
$list = [
['pin'=>'yonghu3','name'=>'用户3'],
['pin'=>'yonghu3','name'=>'用户3']
];
$p->saveAll($list);
}
}

  助手函数

    model

    区别仅在于实例化那里更改为如下

    $p = model('Ceshi')

五、更新

            //更新一条
//实例化模型
$p = new Ceshi;
$p->save([
'pin'=>'yonghu4',
'name'=>'用户4'
],['id'=>10]);
//更新多条
$list 添加多条那里,每一行写个id

六、删除

  静态方法:Ceshi::destroy([1,2,3])(括号内为主键的值)

  条件删除:Ceshi::destroy(['name'=>'1'])

七、模型层查找字段改变显示值

tp5数据库操作 模型层的更多相关文章

  1. EF三种数据库操作模型比较

    https://blog.csdn.net/xiongmeiqin/article/details/80196089 EF 中 Code First 的数据迁移以及创建视图 写在前面: EF 中 Co ...

  2. tp5数据库操作 Db类

    一.链接数据库 1.配置文件定义  application\database.php 注意:数据表前缀更改,在文件的prefix选项 2.类定义 二.数据库的基本使用 namespace app\de ...

  3. 模型层TP框架数据库的操作

    在shop入口的文件下的HOME文件夹中使用模型层 第一步修改配置模块把数据库的各种链接做好,打开HOME中的conf文件夹中的config.php,找到Thinkphp文件加下的conf文件打开co ...

  4. 模型层之ORM、数据库和单表操作

    一.ORM简介 ORM是“对象-关系-映射”的简称,一般指持久化数据和实体对象的映射 1.1 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中( ...

  5. Django模型-数据库操作

    前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...

  6. Django之django模型层一单表操作

    一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

  7. {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询

    Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...

  8. Django基础五之django模型层(一)单表操作

    一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

  9. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

    ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

随机推荐

  1. JAVA中实现根据文件路径下载文件

    import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; ...

  2. eas之缓存清理

    apusic缓存清理,安装web框架补丁后,先清空apusic缓存,然后再重启服务apusic-domains-server1-deploy-easweb-tmpfiles

  3. encodeURI和encodeURIComponent的区别?

    encodeURI方法不会对下列字符编码 ASCII字母.数字.~!@#$&*()=:/,;?+' encodeURIComponent方法不会对下列字符编码 ASCII字母.数字.~!*() ...

  4. Linux 系统查看命令

    1. linux CPU大小cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep &quo ...

  5. Golang - 异常处理

    目录 Golang - 异常处理 1. 抛异常和处理异常 2. 返回异常 Golang - 异常处理 1. 抛异常和处理异常 package main import "fmt" / ...

  6. Vue.js教程—1.介绍和安装

    Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定 ...

  7. XHXJ's LIS

    XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Probl ...

  8. hdu 4009 最小树形图模板题朱刘算法

    #include<stdio.h> /*思路:显然对于每个地方, 只有一种供水方式就足够了,这样也能保证花费最小, 而每个地方都可以自己挖井,所以是不可能出现无解的情况的, 为了方便思考, ...

  9. 洛谷—— P1041 传染病控制

    https://www.luogu.org/problem/show?pid=1041 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜 ...

  10. [jQuery]jQuery获取URL参数

    // jQuery url get parameters function [获取URL的GET参数值]// <code>// var GET = $.urlGet(); //获取URL的 ...