我在我的实体课中有这样的想法:
/**
* @Gedmo\Blameable(on="update")
* @ORM\ManyToOne(targetEntity="FoSUserSomeeWhere:)")
* @ORM\JoinColumn(name="updated_by", referencedColumnName="id")
*/
protected $updatedBy;
我想更新这个实体而不记录 - 为什么?因为我需要使用console命令来完成此操作。 Allready建立了一项服务。对此有什么解决方案吗? Meyby有些默认用户吗?
答案 0 :(得分:1)
您可以尝试删除侦听器。
<?php
$listenerInst = null;
$evm = $em->getEventManager();
foreach ($evm->getListeners() as $listeners) {
foreach ($listeners as $listener) {
if ($listener instanceof \Gedmo\Blameable\BlameableListener) {
$listenerInst = $listener;
break 2;
}
}
}
if ($listenerInst) {
$evm->removeEventListener(array('onFlush'), $listenerInst);
}
答案 1 :(得分:0)
您必须停用 Blameable 过滤器。
<?php
// This will disable filter (adapt the filter name with your configuration)
$em->getFilters()->disable('blameable');
/* Your code with entity manager flush */
// This will enable filter
$em->getFilters()->enable('blameable');