Thinkphp 模型中关于增删改查的的应用
2016-08-13 00:00
323 查看
Thinkphp 模型中关于增删改查的的应用
数据库对象的创建
令牌验证、自动验证和自动完成功能,其实都必须通过create方法才能生效。$user->create();
对于使用了自动验证的情况可以使用下面
$user = D('User'); if(!$user -> create()){ $user->add(); }
内置的数据操作包括Model::MODEL_INSERT(或者1)和Model::MODEL_UPDATE(或者2),当没有指定的时候,系统根据数据源是否包含主键数据来自动判断,如果存在主键数据,就当成Model::MODEL_UPDATE操作。
$user->create($_POST,Model::MODEL_UPDATE); $user->create($data);
如果只是想简单创建一个数据对象,并不需要完成一些额外的功能的话,可以使用data方法简单的创建数据对象
$user->data($data);
数据写入
$user->add($data);
如果在add之前已经创建数据对象的话(例如使用了create或者data方法),add方法就不需要再传入数据了。 使用create方法的例子:
$user->create($data)->add();
Model::add()方法错误时返回false,正确时返回插入的主键id
数据更新
为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录。因此下面的代码不会更改数据库的任何记录$User->save($data);
save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。
$user->where('id=1')->save($data); $user->where('id=1')->data($data)->save();
如果只是更新个别字段可以使用
user->where('id=1')->setField('name','ThinkPHP');
相关文章推荐
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- android实际项目中数据库的应用(增删改查)
- 关于SQL SERVER 公用表达式CTE应用递归时的模型个人的理解
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- ThinkPHP实例教程--CURD (增删改查)
- struts&hibernate应用(对数据库增删改查)实例
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- Creating a Simple CRUD App With Yii2 用 Yii2 创建一个简单的 CRUD (增删改查)应用
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于数据建模(面向ER)和领域模型建模(面向OO)在企业应用中的作用的讨论
- 关于配置实现增删改查的思路总结
- 关于thinkphp关联模型的HAS_ONE