gpt4 book ai didi

symfony - Gedmo 可记录工作但不存储用户名

转载 作者:行者123 更新时间:2023-12-04 18:37:18 27 4
gpt4 key购买 nike

我已经在我的实体上进行日志记录,以便当我使用 @Gedmo\Versioned 更改产品字段时注释创建了一个新版本。然而唯一的问题是username场遗迹NULL .有一个经过身份验证的用户,因为更新是在 Sonata Admin 后端执行的。

<?php

namespace MyApp\CmsBundle\Entity\Log;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Loggable\Entity\MappedSuperclass\AbstractLogEntry;
use Gedmo\Loggable\Entity\Repository\LogEntryRepository;

/**
* @ORM\Entity(repositoryClass="Gedmo\Loggable\Entity\Repository\LogEntryRepository", readOnly=true)
* @ORM\Table(
* name="log_product",
* indexes={
* @ORM\Index(name="log_class_lookup_idx", columns={"object_class"}),
* @ORM\Index(name="log_date_lookup_idx", columns={"logged_at"}),
* @ORM\Index(name="log_user_lookup_idx", columns={"username"}),
* }
* )
*/
class ProductLog extends AbstractLogEntry
{

}

所以它会出现 log_user_lookup_idx工作不正常,我需要一些特殊的配置吗?

最佳答案

看来我缺少一些配置,将以下内容添加到主 app/config/config.yml文件做到了。

stof_doctrine_extensions:
default_locale: en
orm:
default:
loggable: true

我的捆绑包中最初确实有这个 services.yml配置:
gedmo.listener.loggable:
class: Gedmo\Loggable\LoggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ "@annotation_reader" ] ]

这设法跟踪被修改的实体而不是用户,此后我删除了此配置,并且日志记录仍然仅适用于 stof_doctrine_extensions配置设置。

如果您的代码库中同时拥有两者,那么我发现的所有内容都将被记录两次。

关于symfony - Gedmo 可记录工作但不存储用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32613432/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com