steevanb/doctrine-events

添加 Doctrine 事件

1.2.0 2017-02-15 15:55 UTC

This package is auto-updated.

Last update: 2024-08-28 12:32:26 UTC


README

version doctrine php Lines Total Downloads SensionLabsInsight Scrutinizer

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 替代返回第一个填充的实体来定义通过多个查询加载的字段