steevanb / doctrine-events
添加 Doctrine 事件
1.2.0
2017-02-15 15:55 UTC
Requires
- php: ^5.4.6 || ^7.0
- doctrine/orm: ^2.5.0
README
doctrine-events
为 Doctrine 2.5 添加一些事件
修复 Doctrine UnitOfwork 的 extraUpdates Bug,当你在调用 flush() 之前添加和删除实体时,这些更新不会被移除
onCreateEntityOverrideLocalValues
当 UnitOfWork 尝试确定当前实体是否需要用从查询中检索的值填充,或者此实体已知名且字段已定义时,将触发此事件。
onCreateEntityDefineFieldValues
当 UnitOfWork 定义实体字段值时,将触发此事件。
onNewEntityInstance
当 UnitOfWork 创建你的 Entity 的新实例时,将触发此事件。
安装
将其添加到你的 composer.json 文件中
{ "require": { "steevanb/doctrine-events": "^1.2", } }
你必须使用 steevanb\DoctrineEvents\Doctrine\ORM\EntityManager 而不是 Doctrine\ORM\EntityManager
内部,它将使用 steevanb\DoctrineEvents\Doctrine\ORM\UnitOfWork 而不是 Doctrine\ORM\UnitOfWork
如果你在 Symfony2 或 Symfony3 项目中,你可以将其添加到你的配置中
# app/config.yml parameters: doctrine.orm.entity_manager.class: steevanb\DoctrineEvents\Doctrine\ORM\EntityManager
使用它的库
https://github.com/steevanb/doctrine-entity-merger : 通过添加 MERGE_ENTITY 提示,用 PARTIAL 替代返回第一个填充的实体来定义通过多个查询加载的字段