TP5中的英雄model

源于php中文网

连接数据库(TP5采用惰性连接,就是用到数据库方法才连接)

核心是:
在这里插入图片描述

  1. 静态连接:就是在配置文件中,书写数据库常量
    寻找到datadase文件,写入数据库的名称,密码
  2. 动态连接:引用DB.php调用connect(数组/字符串)

使用原生的sql语句进行增删改查

  • 查询 :
select * from hero 
调用 Db::query($sql)
  1. 同理 更新 Bb::execute()
  2. 删除 Bb::execute()
  3. 添加(默认添加到尾部) Bb::execute()
  4. 在这里插入图片描述

tp5中的查询构造器

  1. 原理,源码都在db.php和db文件夹
    在这里插入图片描述
    在这里插入图片描述

链式编程的原理就是拼装成一个完整的sql语句

  1. 闭包形式生成的sql
  2. 在这里插入图片描述
  3. 实践
    在这里插入图片描述
新增
Db::table('hreo')->insert(['name'=>'母鸡','age'=>15,'sex'=>1]);

Db::table('hreo')->insertAll(
['name'=>'母鸡','age'=>15,'sex'=>1],
['name'=>'母鸡2','age'=>18,'sex'=>0],
);
更新(更新都需要where,除非更新了主键)
Db::table('hreo')->update(
['id'=>100,name'=>'母鸡','age'=>15,'sex'=>1]
);

Db::table('hreo')
->where('id',1001)
->setInc('age',10); 
结果是:age+10

Db::table('hreo')
->where('id',1001)
->setDec('age',10); 
结果是:age-10

Db::table('hreo')
->where('id',1001)
->setDec('age',103); 
结果是:3秒后age-10


  • 查询,拼装
    在这里插入图片描述
  • 危险的删除操作,必须要有where
    在这里插入图片描述

模型

一个模型对应一个表
可以认为是房子模型和房子实体
一个模型中的属性对应的是表中的字段
源码在model.php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模型的CURD
在这里插入图片描述
单条记录
多条数据
推荐
静态,推荐
更新
save()方法没有限定条件的话默认是添加一条记录
在这里插入图片描述
第一种方式
第二种方法
更新多个
updata方法
查询
查询
单条记录
多条记录
静态对象调用是一样的

删除
在这里插入图片描述
一个模型对象对应一条记录
删除的只是一条
删除多条

模型读取器与修改器

在这里插入图片描述
原理:
在这里插入图片描述
使用:
注:原始的数据是不变的
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
类型转换
在将数据写入数据库之前会自动调用这个参数
这个参数写下来就好了
在这里插入图片描述
模型数据自动完成设置
create 和 update是成对出现的

在这里插入图片描述

场景:在添加数据的时候只添加单个字段的数据时,其他字段自动完成
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值