Thinkphp 微博项目

来源:互联网 发布:matlab定义空矩阵 编辑:程序博客网 时间:2024/05/17 00:29

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();

数据更新

为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,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');
1 0