thinkphp5-操作数据库


thinkphp5对于 定义路由的访问形式有多种写法,对于 获取http参数有多种写法,对于 操作数据库也有多种写法。

1. 原生sql语句来查询数据库
 $result = Db::query('select * from banner_item where banner_id=?',[$id]);
2. 使用构造器(query查询器是对原生sql的一个封装)来操作数据库
//查询单个数据使用find方法:
 $result = Db::table('banner_item')->where('banner_id', '=', $id)->find();
 
//查询多个数据(数据集)使用select方法:
 $result = Db::table('banner_item')->where('banner_id', '=', $id)->select();
 
 //where查询操作,
// update更新操作,
// insert插入操作,
// delete删除操作

查询表达式支持大部分的SQL查询语法,也是ThinkPHP查询语言的精髓,查询表达式的使用格式:where('字段名','表达式','查询条件');
支持三种写法
1.表达式。
2,数组法。
3,闭包: 闭包写法就是在where里卖弄传入一个匿名函数,然后函数内部还是使用的query表达式,但是在闭包里面肯定拿不到$id,所以就在函数体外面加入use ($id)

public static function getBannerByID($id) {
     $result = Db::table('banner_item')
         ->where(function ($query) use ($id){
             $query->where('banner_id', '=', $id);
         })->select();
     return $result;
 }
3. 使用模型以及关联模型(ORM)来操作数据
  1. 首先在讨论一下模型的定义,ORM是以对象的方式来处理业务逻辑。
  2. Db 和模型是不分离得。 Db是模型的一个基础,用模型操作数据库其实是下面还是用底层的Db来操作数据库的。
  3. Db属于数据库的访问层,但模型model是建立在数据库访问层上面的更加抽象的业务层。
    不同的是Db返回的是一个数组,但是模型返回的是一个对象。对于数组的操作我们只能使用tp5内置的数组操作方法,但是返回的模型对象里面有很多属性,我们可以更加灵活的操作

具体的操作请查看另外一篇博客:ORM使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值