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

快速入门ThinkPHP 5.0 --模型篇

难度中级
时长 3小时 0分
学习人数
综合评分9.67
70人评价 查看评价
10.0 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • tp连接数据库 1.通过Db::connect()方法实现,如果参数为空,那么会默认使用database.php中的配置连接 2.也可以通过Db::connect(mysql://root?root@127.0.0.1:3306/databasename#utf8),动态传入进行配置连接
    查看全部
  • destroy对数据库删除的操作 $userModel = User::get(7); $res = $userModel->delete();//对数据库删除的操作 $res = User::where("1=1") -> delete();//1=1 清空数据库
    查看全部
  • // $res = User::update([ // 'username' => '17771258' // ], function($query){ // $query->where("id", "LT", 5); // }); // $res = User::where("id", "<", 6) // -> update([ // 'username' => '17771258' // ]); // $userModel = User::get(1); // $userModel->username = '123'; // $userModel->email = "123@qq.com"; $userModel = new User; // $res = $userModel->save([ // 'email' => '222@qq.com' // ], function($query){ // $query->where("id", "<", "5"); // }); $res = $userModel->saveAll([ ['id'=>1, 'username'=>1], ['id'=>2, 'username'=>2] ]); dump($res);
    查看全部
  • // $res = User::create([ // 'username' => 'imooc', // 'password' => md5('imooc'), // 'email' => 'imooc@qq.com', // 'num' => 100, // 'demo' => 123 // ], ['username', 'email']); // $userModel = new User; // $userModel->username = '17771258'; // $userModel->email = '17771258@qq.com'; // $userModel->password = md5('17771258'); // $userModel->save(); // $userModel = new User; // $res = $userModel // ->allowField('username') // ->save([ // 'username' => 'imooc1', // 'password' => md5('imooc1'), // 'demo' => 123 // ]); $userModel = new User; $res = $userModel->saveAll([ ['email'=> '17771258@qq.com'], ['email'=> '17771259@qq.com'] ]); foreach($res as $val) { dump($val->toArray()); } //dump($res); //dump($res);
    查看全部
  • 常用链式操作 $res=$db ->where('id','>',5) 条件ID>5 ->field('username','id') 只搜索username和id两个字段 ->order('id DESC') order排序 id DESC id倒序 ->limit(3,7) limit截取 3,7 从3开始截取7个 ->page(3,5) page( )多用于分页 ->group('`group`') ->select(); select( ); 搜索 var_dump($res);
    查看全部
    1 采集 收起 来源:链式操作

    2018-03-22

  • Db链式操作,常用的操作有:where,limit,order,field,group,page(),select() 其中page(page, limit)是使用limit((page-1)*limit, limit)
    查看全部
    1 采集 收起 来源:链式操作

    2017-09-06

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

    2017-09-06

  • Db连接 4. 在Db::connect()中传入一个配置项的名称 => Db::connect('db_config1'); 然后在config.php中添加该配置项即可
    查看全部
  • Db数据库连接 1. 在database.php中配置 2. 在Db::connect();中传递一个数组
    查看全部
  • 如果想在数据库表中字段create_time、update_time自动完成时间戳赋值,可在database.php中全局设置,auto_timestamp=>true即可 如果只对个别数据表字段create_time、update_time自动完成时间戳赋值,可以按如下操作: protected $autoWriteTimestamp = true; //在模型中对约定的create_time、update_time自动完成时间戳赋值 protected $createTime = 'create_at';// 如果不用默认的create_time名称,这样设置 //或 protected $createTime = false; //禁用 protected $updateTime = 'update_at';
    查看全部
  • 如何在添加数据的时候自动添加他的时间戳? 可以在模型中加入如下代码 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);来实现
    查看全部
  • 更新数据的方法有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);来过滤数据库没有的字段
    查看全部
  • 链式操作
    查看全部
    1 采集 收起 来源:链式操作

    2017-07-11

  • count User::count(); max User::max('字段名') sum User::sum('字段名') avg User::avg('字段名') min User::min('字段名') 都可以和where条件合作
    查看全部
    1 采集 收起 来源:模型聚合操作

    2017-07-10

举报

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

微信扫码,参与3人拼团

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

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