php - ZF2 Classmethods Hydrator 与 RowGateway 配合使用

标签 php entity zend-framework2

我正在尝试实现 RowGateway类到我的实体,我已经有一个与该实体一起使用的表单,并且我正在尝试将水化器设置为与 ClassMethods 一起使用.

我还注意到ArraySerializable Hydrator 调用populate()方法或exchangeArray()不幸的是,此方法在编辑行时设置了适当的主键ClassMethods Hydrator 不会这样做。

使用 Classmethod Hydrator 时设置正确主键值的最佳方法是什么?我应该在将实体绑定(bind)到表单之前设置此值吗?或者,我应该扩展 Classmethod H. 以在初始化时执行此任务吗?

最佳答案

我不喜欢在我的实体中使用数据层的知识。使用 exchangeArray() 时,您可以在实体本身中创建映射。我对 Zend 的水化器进行了一些研究,并发现了一些帖子,包括这篇文章。 Andrew 扩展 ClassMethods Hydrator 的示例似乎是将列名称映射到 getter/setter 名称的好方法。

扩展 ClassMethods Hydrator 时,您还可以实现 Zend\Stdlib\Hydrator\HydratorInterface

对于数据操作,请使用水化器策略

http://framework.zend.com/manual/2.0/en/modules/zend.stdlib.hydrator.strategy.html http://juriansluiman.nl/nl/article/125/strategies-for-hydrators-a-practical-use-case

要将您的实体分离到多个数据源,您可以使用Hydrator 过滤器。例如,默认情况下,ClassMethods Hydrator 提取以 get 开头的所有实体方法。

http://framework.zend.com/manual/2.1/en/modules/zend.stdlib.hydrator.filter.html

关于php - ZF2 Classmethods Hydrator 与 RowGateway 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447501/

相关文章:

entity-framework - Entity Framework EntityKey/外键问题

orm - 在 CakePHP 3 Controller 中保存相关数据

php - ZF2 Form 将所有选择选项设置为在绑定(bind)时选择

php - 使用 ZF2 服务管理器覆盖实现

zend-framework2 - 如何使布局依赖于域而不是模块?

php - Magneto 将数据插入 Wordpress wp_users 和 wp_usermeta 表

php - mysql : table strucutre design for post 'like' and 'unlike'

php - 自动更正 Web 应用程序中的拼写错误

php - 想在mysql中以指定的方式获取关系表的值

java - 实体到达屏幕边缘时减速