phalcon官网文档并不完善,导致很多人在学习和使用phalcon的过程中走了弯路,踩了不少坑。关于phalcon的更新和动态更新的坑,很多人踩,今天写一篇文章好好讲讲这个问题。废话不多说,show me code!
第一:phalcon框架update的操作案例
如图所示,phalcon的update,需要先通过findFrist()查找结果,然后再通过面向对象的方式,指定要修改的值。然后再通过save()方法来update结果。
第二: phalcon框架的动态更新
上面的update()方法,我们会发现在save()的时候,会把findFrist()的所有字段全部保存。所谓动态更新,就是告诉model,在执行update()操作的时候,不把全部字段保存。只保存我们通过面向对象方式指定要修改的值。
动态更新的设置很简单的,在model初始化的方法内添加一个属性即可。官方有案例,这里就不多说了。
总结
其实phalcon的update()是封装的很简单易学的,但是由于文档里没有update()的例子,导致很多人会在这里遇到坑。