向LoggableListener添加其他选项

时间:2018-11-30 09:18:25

标签: php symfony database-versioning gedmo-loggable

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

谢谢;)

0 个答案:

没有答案