Thinkphp5基础——04 模型(概念、CURD)


ORM(Object Relation Mapping) 对象关系映射

  1. 用来把对象模型表示的对象,映射到基于S Q L 的关系模型数据库结构中去。

  2. 这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法。

  3. O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化 。


总结

总而言之,就是ORM能让我们把数据表当做对象去操作。




模型

  1. 不单单做数据库查询,还可以包含业务逻辑。

  2. 主要用来做复杂的业务逻辑。

  3. 模型和数据库表、对象,不是一对一的关系,可以一对多。

  4. 返回的是模型对象,而不是数组。


注意:

5.1+版本,value和column方法返回的不再是一个模型对象实例,而是纯粹的值或者某个列的数组。



使用步骤

  1. 同模块下建立model文件夹;

  2. model文件夹下建立和表名字一样的model类文件
    假设表名称是user,则文件名为User.php,类名为User。

  3. model类继承think\Model;

  4. controller里调用model类,调用类的内置或自定义方法



CURD操作


	1. 插入
	  User::create(['name' => '张三']);
	
	
	2. 更新	  	
	  User::where('id', 1)
	      ->update(['name' => 'thinkphp']);
	  
	  
	3. 删除
	
	  1delete()删除当前模型数据
	    
	    // 先查询,再删除
	    $user = User::get(1);
	    $user->delete();


	    // 条件删除
	    User::where('id','>',10)->delete();
	  

	  2destory() 直接删除数据
	    // 根据主键删除
	    User::destroy(1);

	    // 支持批量删除多个数据
	    User::destroy('1,2,3');
	    // 或者
	    User::destroy([1,2,3]);


	4. 查询
	  
	  1)根据主键,查询单条记录
	    User::get(1);
	  
	  
	  2)根据主键,查询多条记录
	    User::all('1,2,3');
	    // 或者
	    User::all([1,2,3]);
	    

除了以上方式,模型还可以使用查询构造器的方法。






参考资料:

你真的了解Db类和模型的正确使用姿势么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值