0

我使用 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功能。我的问题是:我是否需要覆盖侦听器,如果需要,我该怎么做?

谢谢 ;)

4

0 回答 0