为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • buildSql();返回SQL语句

    where('字段名','表达式','查询条件');

    表达式 含义

    EQ、=        等于(=) 

    NEQ、<>  不等于(<>) 

    GT、>        大于(>) 

    EGT、>=    大于等于(>=) 

    LT、<                    小于(<) 

    ELT、<=                小于等于(<=) 

    LIKE                      模糊查询 

    [NOT] BETWEEN (不在)区间查询 

    [NOT] IN            (不在)IN 查询( 'id','in' ,'1,5,8'( [1,5,8] ) )

    [NOT] NULL 查询字段是否(不)是NULL 

    [NOT] EXISTS EXISTS查询 

    EXP 表达式查询,支持SQL语法 

    > time 时间比较 

    < time 时间比较 

    between time 时间比较 

    notbetween time 时间比较 

    <!-- Db::table  -->

    Db::table('据库名')->where()->buildSql();

    <!-- Db::name 方法同上 -->

    Db::name('不戴前置数据库名')->where()->buildSql();


    查看全部
    2 采集 收起 来源:条件构造器

    2019-01-06

  • 方法都为返回影响数据的条数

    where('字段名','表达式','查询条件');

    <!-- Db::table  -->

    根据主键删除

    Db::table('据库名')->delete(1);

    条件删除 

    Db::table('据库名')->where('key','<',value)->delete();

    <!-- Db::name 方法同上 -->

    Db::name('不戴前置数据库名')->delete(1);

    或者用SQL语句删除Db::execute(sql语句)

    二维数组[

           0 =>一维数组[key=>value,~~~]

           ,~~~

                  ]

    查看全部
  • 方法都为返回影响数据的条数

    <!-- Db::table  -->

    如果数据中包含主键,可以直接使用如果没有要加上->where('id', 1):

    Db::table('据库名')->update($一维数组); ['key' => 'value','id'=>1]);

    如不加第二个参数,默认值为1

    支持延时更新,如果需要延时更新则传入第三个参数几秒

    Db::table('据库名')->where('id', 1)->setDec('key', 5);自减第二参数是减少的值

    Db::table('据库名') ->where('id', 1)->setInc('score',5);自增第二参数是增加的值

    <!-- Db::name 方法同上 -->

    Db::table('不戴前置数据库名')->update($一维数组);

    或者用SQL语句更新Db::execute(sql语句)

    二维数组[

           0 =>一维数组[key=>value,~~~]

           ,~~~

                  ]


    查看全部
  • <!-- Db::name -->

    Db::name('不加前缀数据库名')->insert($一维数组) 返回值是影响记录的行数

    Db::name('不加前缀数据库名')->insertGetId($一维数组) 返回ID

    Db::name('不加前缀数据库名')->insertAll($二维数组)  返回成功插入行数

    <!-- Db::table 方法同上 -->

    Db::table('据库名')->insert($一维数组);

    或者用SQL语句插入Db::execute(SQL语句)

    二维数组[

           0 =>一维数组[key=>value]

                  ]

    查看全部
    1 采集 收起 来源:添加数据

    2019-01-05

  • <!-- Db::query Db::execute -->

    #使用sql语句方式查询数据库

    $res = Db::query("select *from imooc_user";("select *from imooc_user where id=?",[1]);

    $res =Db::execute("insert into imooc_user set username=?,password?,email=?",['imooc',md5('imooc'),'imooc@qq.com']);

    <!-- Db::table -->

    #selsect 返回所有记录 返回的结果是一个二维数组

    #如果结果不存在 返回一个空数组

    $res = Db::table('imooc_user')->select();

    #find 返回一条记录 返回的结果是一个一维数组

    #如果结果不存在返回NULL

    $res = Db::table('imooc_user')->find();

    #value  返回一条记录 并且是每条记录的某个字段值

    #如果结果不存在 返回NULL

    $res = Db::table('imooc_user')->value('username');

    #column 返回一个一维数组 数组中的value值就是我们要获取的列的值

    #如果存在第二个参数 就返回这个数组并且用第二个参数的值作为key值

    #如果不存在返回NULL

    $res = Db::table('imooc_user')->column('username');

    <!-- Db::name 也有同上的方法-->

    $res = Db::name('user')->select();

    <!-- db 也有同上的方法-->

    如果没有第三个参数每次就都会实例化一个

    $res = db('user',[],false)->find();

    查看全部
  • 删除数据

    $db = Db::name('不加前缀的数据表名');
    • $res = $db->where([key=>value, key=>value, ***]或者1=1删除全部)->delete(留空则用where,或者可以添加自增ID值删除)  返回影响行数

    查看全部
  • 更新数据

    $db = Db::name('不加前缀的数据表名');
    • $db -> where([key => value, key => value, ***])->update([key => value, key => value, ***]) 返回影响行数

    • $db -> where([key => value, key => value, ***])->update(key => value)  返回影响行数,与update不同的是,只更新一条数据

    • $db -> where([key => value, key => value, ***])->setInc('INT字段', 自增数值默认1) 返回影响行数

    • $db -> where([key => value, key => value, ***])->setDec('INT字段', 自减数值默认1) 返回影响行数

    查看全部
  • 添加数据

    $db = Db::name('不加前缀数据库名');
    • insert([key => value, key => value, ***]) 返回值是影响记录的行数

    • insertGetId([key => value, key => value, ***]) 返回自增ID

    • insertAll($数组)  返回成功插入行数,可和原数据长度作比较

    查看全部
    0 采集 收起 来源:添加数据

    2018-12-26

  • Db::table('数据库表名')->对象名        条件->where(key, value) 表名:查询值  不知能否添加条件判断,还是只能原生添加?

    • select ();返回所有记录 返回的结果是一个二维数组,不存在返回空数组

    • column(key, value) 返回列一维数组,key默认查询名,若存在第二个参数,则进行键值映射,value查询名,不存在返回空数组

    • find() 返回一条记录,返回的结果是一个一维数组,不存在返回NULL

    • value() 返回一条记录,并且是字条记录的某个字段值,结果不存在返回NULL


    Db::name('不需前缀的表名')    开发中一般使用这个  其余参数同上

    助手函数:db('不需前缀的表名')  功能同上,只是这种使用方法每次使用都需要实例化

    Db::content()  数据库连接(惰性连接)

    Db::query("SQL语句???", [value1, value2, value3]) 数据库语句(原生)

    Db::execute("SQL语句???", [value1, value2, value3]) 数据库插入语句,返回影响条数(原生)

    查看全部
  • 在新版本的框架中,还需添加这么一行:

    Container::get('app', [APP_PATH])->run()->send();
    查看全部
    0 采集 收起 来源:教程简介

    2018-12-25

  • 上节课纠正: find返回的结果是 一维数组

    查看全部
    0 采集 收起 来源:添加数据

    2018-12-05

  • 每一个模型文件都对应数据库中的一张表

    查看全部
    1. Model的文件名 = 类名 = 数据表去掉前缀后的名字,

      之后就可以通过这个Model类来操作相应的数据表

    查看全部
    0 采集 收起 来源:什么是模型

    2018-11-15

  • 1. Db类的链式方法会返回一个Db类,我们可以对他继续使用Db链式方法

    查看全部
    0 采集 收起 来源:链式操作

    2018-11-15

  • 1.执行Db::connect()并没有正在地连接数据库,只有在使用数据库的时候才会连接

    查看全部

举报

0/150
提交
取消
课程须知
1、有一定的php基础。 2、对ThinkPHP5 有一定的了解。 3、没有接触过tp5 的学生可以先看下我之前录制的 <快速入门 ThinkPHP5 基础篇>
老师告诉你能学到什么?
1、ThinkPHP5 的数据库操作类 2、ThinkPHP5 的数据模型 3、使用数据模型快速对数据库进行增删改查的操作 4、ThinkPHP5 的自动完成操作 5、模型的自动时间戳和软删除

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!