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

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 传三个值的时候

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

    2019-01-16

  • 这样也可以

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

    2019-01-16

  • buildSql返回的是创建sql的那个语句

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

    2019-01-16

  • 如果要删除所有的数据

    就要在where里面传入(“1=1”)

    查看全部
  • 如果没有where条件,delete里面也不传入主键的话,是不可以全部删除的

    查看全部
  • 如果没有带where条件,delete里面传入主键(这里例子Id是主键),就会把那条记录删除

    查看全部
  • 数据删除。。。

    查看全部
  • setField更新也是返回影响数据的行数,

    与update不同的是setField每次只能更新一个字段


    查看全部
  • update返回影响的行数

    要带where条件

    查看全部
  • 数据的插入2

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

    2019-01-15

  • 数据的插入

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

    2019-01-15

  • 数据库查询

    PS:find那里返回的应该是一个一维数组

    查看全部
  • 成员方法(get字段名Attr)[字段名首字母大写]

    在model中使用   后面有代码

    在controller中use下model中的类(该类需继承model类)

    后利用各种查询方法获取数据值

    可利用toArray获取改后数据

    可利用getData获取改前数据

    public function get字段名tAttr($value)       
    {                
       /*($字段名 首字母不用大写)*/        
        $字段名 = [-1=>'***',0=>'***',1=>'***',2=>'***'];   
        return $字段名[$value];       
     }    
     public function get字段名Attr($val)    
     {                    
         switch($val){                            
             case '1':                                
             return "***";                                
             break;                            
             case '2':                                
             return "***";                                
             break;                
             case ~~:                     
             break;                            
             default:                                
             return "***";                                
             break;                        
         }            
     }


    查看全部
    1 采集 收起 来源:模型获取器

    2019-01-06

  • Model的文件名 = 类名 = 数据表去掉前缀后的名字如果名字中含有下划线需要去掉在把后一位写成大写

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

    https://img1.sycdn.imooc.com//5c31b2cf00010d7a04140345.jpg

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

    2019-01-06

  • alias用于设置当前数据表的别名,便于使用其他的连贯操作例如join方法等。

    bind方法用于手动参数绑定,大多数情况,无需进行手动绑定,系统会在查询和写入数据的时候自动使用参数绑定。

    cache可以用于select、find、value和column方法,以及其衍生方法,使用cache方法后,在缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据,关于数据缓存的类型和设置可以参考缓存部分。

    comment方法 用于在生成的SQL语句中添加注释内容

    distinct 方法用于返回唯一不同的值 

    failException设置查询数据为空时是否需要抛出异常,如果不传入任何参数,默认为开启,用于select和find方法

    fetchSql用于直接返回SQL而不是执行查询,适用于任何的CURD操作方法

    force 方法用于数据集的强制索引操作

    group通常用于结合合计函数,根据一个或多个列对结果集进行分组 

    having用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据

    join用于根据两个或多个表中的列之间的关系,从这些表中查询数据

    join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。

    • INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行

    • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 

    • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 

    • FULL JOIN: 只要其中一个表中存在匹配,就返回行 

    limit主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的limit方法可以兼容所有的数据库驱动类的。

    Lock方法是用于数据库的锁机制,如果在查询或者执行操作的时候使用:就会自动在生成的SQL语句最后加上 FOR UPDATE或者FOR UPDATE NOWAIT(Oracle数据库)

    order用于对操作的结果排序。

    page是完全为分页查询而诞生的一个人性化操作方法。显而易见的是,使用page方法你不需要计算每个分页数据的起始位置,page方法内部会自动计算

    partition 方法用于是数据库水平分表

    sequence方法用于pgsql数据库指定自增序列名,其它数据库不必使用

    strict方法用于设置是否严格检查字段名,如果开启字段严格检查的话,在更新和写入数据库的时候,一旦存在非数据表字段的值,则会抛出异常

    table方法主要用于指定操作的数据表。

    union操作用于合并两个或多个 SELECT 语句的结果集。


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

    2019-01-06

举报

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

微信扫码,参与3人拼团

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

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