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

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 如何在添加数据的时候自动添加他的时间戳? 可以在模型中加入如下代码 protect $autoWritetimestamp=ture; 假如数据库中的时间戳字段名有create_time和update_time,那么在创建数据的时候create_time和update_time字段就会改变,在更新数据的时候update_time就会改变。 假如数据库中的字段不是create_time和update_time而是其他(例如create_at和update_at),那么和可能会报错,因此我们可以在模型中添加代码: protectr $createTime='create_at' protectr $updateTime='update_at' 如果不想用自动添加时间戳,可以在变量后面改为false,例如protectr $updateTime=false; 什么叫软删除,就是在数据库的表中添加一个标志位,(例如delete_time)在标志位中默认值为NULL表示这条数据还在,添加一个时间戳代表删除该数据。但是实际上这条数据并没有被删除。(所以在设置数据库表的delete_time时需要默认值设置为NULL) 如何实现软删除,可以在模型中的开头加入use traits\model\SolfDelete; 然后在类里面加入use SolfDelete; 这样在控制器里面只要删除该条数据$res=User::destroy(1);就会把id=1的数据软删除,如果真的想在数据库中删除该数据,那么可以$res=User::destroy(1,ture);来实现
    查看全部
  • 该截图是对应前一张截图
    查看全部
  • 在模型中还有三种比较特殊的方法,如上图所示的auto insert update auto:在进行数据库更新或者增加的时候 相关的方法可以会被调用; insert:会在数据增加的时候被调用; update:会在数据更新的时候被调用
    查看全部
  • 在以上的两个方法中,同样第二个参数$data都是从控制其中传过来的数据库中的一条数据(即$data是一个一维数据),所以可以通过$data['email']来获取email字段的值。
    查看全部
  • 如何更改数据获取之后返回的值? 1. 在model编写public方法,get+字段名(首字母大写)+Attr,比如getSexAttr($val) 2. 在方法内编写逻辑,switch case可以处理不同的情况下返回什么样的值。 3. 然后在控制器内可以get记录然后展示其内的值,一般情况下都是展示处理后的数据。 * 在控制器内调用getData()方法可以获取原始数据,而且是数组形式
    查看全部
    2 采集 收起 来源:模型获取器

    2017-07-31

  • 更新数据的方法有update,save,saveall。update可以传入要更新的数据的主键和数据的内容,而save也是一样,但是需要注意的是save如果不传入主键的话,就会变成添加一条数据(像上一节课一样),而saveall的用法和save差不多,只不过saveall可以批量更新数据。
    查看全部
  • 在控制器中往数据库添加数据时,可以通过model类中的create方法来添加,例如在User的model中: $res=User::create([ 'username'=>'imooc', 'password'=>md5('imooc'), 'email'=>'imooc', 'num'=>100 ]); 此时如果执行上面语句成功,$res的返回值是一个对象,并且这个对象会增加这个数据 自增主键的值,例如 $res->id可以获得他的主键的值 这节课所讲的添加方法有create,save,saveall(批量添加),其中save的返回值是受影响的行数,而其余两个方法得返回值是添加的对象。 在使用create方法的时候,如果想过滤数据库没有的字段,可以在create的第二个参数写上ture。 在使用save方法时,则使用allowFiled(ture);来过滤数据库没有的字段
    查看全部
  • sqlwhere语句
    查看全部
    0 采集 收起 来源:条件构造器

    2017-07-31

  • 记录1
    查看全部
  • model的命名规范:一般model的名字和表名是对应的,例如 表名为imooc_user->模型名User.php 表名imooc_user_info->模型名UserInfo.php
    查看全部
    3 采集 收起 来源:什么是模型

    2018-03-22

  • think中,一般不会删除所有数据。但是如果要删除所有数据方法如下 $db->where(1=1)->delete();可以实现
    查看全部
  • 设置更新或不更新字段
    查看全部
  • 设置新增和更新时间自动更新
    查看全部
  • 模型修改器+自动完成 protected $insert={……}数据新增时才会触发 protected $update={……}数据更新时才会触发 protected $auto={……}数据变动是时会自动触发
    查看全部
  • 获取器的设置
    查看全部
    0 采集 收起 来源:模型获取器

    2017-07-27

举报

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

微信扫码,参与3人拼团

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

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