Есть две сущности
News и
User.
При обновлении первой, в поле
author нужно указать ID текущего пользователя.
Делаю этот так:
->add('author', 'hidden', array('data' => $this->securityContext->getToken()->getUser()->getId()))
Описание поля author в News сущности:
/**
* @var $newsCategory
*
* @ORM\ManyToOne(targetEntity="\Sector\UserBundle\Entity\User", inversedBy="id")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="author", referencedColumnName="id")
* })
* })
* @Assert\NotBlank
*/
private $author;
/**
* Set author
*
* @param \Sector\UserBundle\Entity\User $author
*/
public function setAuthor(\Sector\UserBundle\Entity\User $author)
{
$this->author = $author;
}
/**
* Get author
*
* @return \Sector\UserBundle\Entity\User
*/
public function getAuthor()
{
return $this->author;
}
Но, при обновлении формы, вылетает ошибка:
ContextErrorException: Catchable Fatal Error: Argument 1 passed to Sector\ArticlesBundle\Entity\News::setAuthor() must be an instance of Sector\UserBundle\Entity\User, string given, called in /Users/roman/Development/Sites/Sector.dev/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 377 and defined in /Users/roman/Development/Sites/Sector.dev/src/Sector/ArticlesBundle/Entity/News.php line 341
Я проверил, в
Sector\ArticlesBundle\Entity\News::setAuthor() приходи ID юзера, но, как я понимаю, должен приходить объект.
Подскажите, пожалуйста, в чем проблема? Где я упустил?
Спасибо!