我使用 Loggable 来备份实体中的更改。默认AbstractLogEntry
没有足够的列满足我的需要。这就是为什么我扩展了课程并添加了额外的 getter 和 setter。
请参阅下面的代码
/**
* EmployeeBackup
*
* @ORM\Table(name="employee_backup")
* @ORM\Entity(repositoryClass="Gedmo\Loggable\Entity\Repository\LogEntryRepository")
*
*/
class EmployeeBackup extends AbstractLogEntry
{
/**
* @var int
*
* @ORM\Column(name="division_id", type="integer", unique=true)
*/
private $divisionId;
/**
* @return int
*/
public function getDivisionId(): int
{
return $this->divisionId;
}
/**
* @param string $divisionId
*/
public function setDivisionId(string $divisionId): void
{
$this->divisionId = $divisionId;
}
}
扩展使用上面的类。所以它有效。
但现在我需要设置divisionId
存储新版本的时间。
我尝试了下面的代码
$loggable = new LoggableListener();
$loggable->setDivision($division);
$evm->addEventSubscriber($loggable);
这就是我得到的:
试图调用“Gedmo\Loggable\LoggableListener”类的名为“setDivision”的未定义方法。
那是真的,因为LoggableListener
没有setDivision
功能。我的问题是:我是否需要覆盖侦听器,如果需要,我该怎么做?
谢谢 ;)