• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP CURD方法之data方法详解_php实例

php 搞代码 3年前 (2022-01-26) 35次浏览 已收录 0个评论

ThinkPHP CURD方法的data方法也是模型类的连贯操作方法之一,用于设置当前要操作的数据对象的值,很多开发人员却并不太习惯用这个方法,今天来讲解下如何用好data方法。

具体用法如下:

1.写操作

通常情况下我们都是通过create方法或者赋值的方式生成数据对象,然后写入数据库,例如:

$Model = D('User');$Model->create(); // 这里略过具体的自动生成和验证判断$Model->add();

又或者/本文来源gaodai#ma#com搞*!代#%^码网%搞代gaodaima码直接对数据对象赋值,例如:

$Model = M('User');$Model->name = '流年';$Model->email = '[email protected]';$Model->add();

那么data方法则是直接生成要操作的数据对象,例如:

$Model = M('User');$data['name'] = '流年';$data['email'] = '[email protected]';$Model->data($data)->add();

注意:如果我们同时使用create方法和data创建数据对象的话,则后调用的方法有效

data方法支持数组、对象和字符串,对象方式如下:

$Model = M('User');$obj = new stdClass;$obj->name = '流年';$obj->email = '[email protected]';$Model->data($obj)->add();

字符串方式用法如下:

$Model = M('User');$data = 'name=流年&[email protected]';$Model->data($data)->add();

也可以直接在add方法中传入数据对象来新增数据,例如:

$Model = M('User');$data['name'] = '流年';$data['email'] = '[email protected]';$Model->add($data);

但是这种方式data参数只能使用数组。

当然data方法也可以用于更新数据,例如:

$Model = M('User');$data['id'] = 8;$data['name'] = '流年';$data['email'] = '[email protected]';$Model->data($data)->save();

当然我们也可以直接这样用:

$Model = M('User');$data['id'] = 8;$data['name'] = '流年';$data['email'] = '[email protected]';$Model->save($data);

同样,此时data参数只能传入数组。

在调用save方法更新数据的时候 会自动判断当前的数据对象里面是否有主键值存在,如果有的话会自动作为更新条件。也就是说,下面的用法和上面等效:

$Model = M('User');$data['name'] = '流年';$data['email'] = '[email protected]';$Model->data($data)->where('id=8')->save();

2.读操作

除了写操作外,data方法还可以用于读取当前的数据对象,例如:

$User = M('User');$map['name'] = '流年';$User->where($map)->find(); // 读取当前数据对象$data = $User->data();

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP CURD方法之data方法详解_php实例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址