У меня есть регистрация, работающая над моей сущностью, поэтому, когда я вношу изменения в поле продукта с аннотацией @Gedmo\Versioned
, создается новая версия. Однако единственная проблема заключается в том, что поле username
остается NULL
. У пользователя, прошедшего проверку подлинности, есть обновление, поскольку обновление выполняется в бэкэнде Sonata Admin.Gedmo loggable работает, но не сохраняет имя пользователя
<?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
не работает правильно, то есть конкретный бит конфигурации я требую для этого?
Вы настроили регистрацию 'username' для регистрации? –
В Product отсутствует атрибут 'username'. Он подбирает объект пользователя через поиск. – diggersworld
Я вижу только индексы в вашем коде, это создает индексы в вашей таблице базы данных, но не определяет, как регистрируются поля, см. [Документация] (https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc /loggable.md#loggable-entity-example). –