В приложении Symfony2.8/Doctrine2 мне нужно хранить в каждой строке таблицы SQL идентификатор пользователя, который создал или обновил строку (пользователи могут подключаться к Ldap).Symfony получает идентификатор пользователя от объекта
Так что все мои объекты, унаследованные из GenericEntity
, содержащих эти переменных (типа будет строкой, если я хочу, чтобы хранить Ldap имя пользователя):
/**
* @var integer
*
* @ORM\Column(name="zzCreationId", type="string", nullable=false)
*/
private $creationId;
И я использую prePersistCallback()
автоматически присвою это значение:
/**
* @ORM\PrePersist
*/
public function prePersistCallback()
{
$currentUser = /* ...... ????? ....... */ ;
if ($currentUser->getId() != null) {
$this->creationId = $currentUser->getId() ;
} else {
$this->creationId = 'unknown' ;
}
return $this;
}
Но я не знаю, как восстановить подключенного пользователя или как автоматически вставить его в объект ... Как я могу это сделать?
Вы должны добавить связь между вами. Пользовательский объект и ваш GenericEntity. – DOZ
@DOZ. Мои пользователи подключены через Ldap, мне нужно отыскать его из контекста безопасности. Но как ? –