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

phalcon的model在执行update的时候会有多少纪录就执行多少条SQL,开发者的思想是?

phalcon的model在执行update的时候会有多少纪录就执行多少条SQL,开发者的思想是?

PHP
慕田峪7331174 2019-03-16 19:16:25
phalcon的model在执行update的时候会有多少纪录就执行多少条SQL,开发者的思想是? //更新 $rs = Blog::find(array('id IN ( 1,2,3,4,5 )')); $aSet = array( 'status' => 1, ); $rs->update($aSet); 那么在SQL执行的时候会是这样 update blog set status=1 where id = 1 update blog set status=1 where id = 2 update blog set status=1 where id = 3 update blog set status=1 where id = 4 update blog set status=1 where id = 5 如果我更新的纪录包含了一万条,那他不是要执行一万条纪录?我在不少群里面咨询过大家,大家在phalcon基本上都是直接用sql 我在网上有查过英文资料,最后查到框架作者的相关回复大意是一个model就是一条纪录,如果更新多条纪录的话,其实就是更新多个model,为了保证model的完整性或是什么的,所以必须单独进行 我真不知道应该怎么理解作者的想法了
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

官方文档有这么一句:

每个模型的实例对应一条数据表中的记录。可以方便的通过读取对象的属性来访问相应的数据。

我的理解是。
可以通过model类的结构来看,里面定义了表的字段为属性,通过实例化的model可以轻易地访问或者修改属性,比如User->id。所以model实例里面的属性应该都是相关联和绑定到一条数据的,不会出现一个model实例获取id时,可以有很多个id。而且geter/seter也是一个延伸。
以及,为什么会有find和findfirst呢?为什么是first不是all,只取一条?

这应该是一个对于model层的理解问题。
所以在涉及批量操作的时候,可以用其他的操作方式来搞,phalcon也提供了PHQL。

查看完整回答
反对 回复 2019-03-18
  • 1 回答
  • 0 关注
  • 959 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信