Symfony FOSUserBundle и связь с продукцией/материалами

BlackIce

Новичок
Установил FOSUserBundle и настроил авторизацию. Теперь необходимо связать таблицы User и product. делаю так:
NailsBundle\Entity\Nails (продукты)
Код:
    /**
    * @ORM\ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="name")
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
    */
    protected $user;
    /**
     * Set user
     *
     * @param \AppBundle\Entity\User $user
     *
     * @return nails
     */
    public function setUser(\AppBundle\Entity\User $user = null)
    {
        $this->user = $user;

        return $this;
    }

    /**
     * Get user
     *
     * @return \AppBundle\Entity\User
     */
    public function getUser()
    {
        return $this->user;
    }
AppBundle\Entity\User
Код:
/**
    * @ORM\OneToMany(targetEntity="\NailsBundle\Entity\nails", mappedBy="user")
    */
    protected $name;


    /**
     * Add name
     *
     * @param \NailsBundle\Entity\nails $name
     *
     * @return User
     */
    public function addName(\NailsBundle\Entity\nails $name)
    {
        $this->name[] = $name;

        return $this;
    }

    /**
     * Remove name
     *
     * @param \NailsBundle\Entity\nails $name
     */
    public function removeName(\NailsBundle\Entity\nails $name)
    {
        $this->name->removeElement($name);
    }

    /**
     * Get name
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getName()
    {
        return $this->name;
    }
Control:
Код:
 //...............
            $user = $this->container->get('security.token_storage')->getToken()->getUser();
            $userId = $user->getId();       
            $nails -> setUser($userId);

            $em = $this->getDoctrine()->getManager();
            $em->persist($nails);

            $em->flush();
Итог:
Код:
Catchable Fatal Error: Argument 1 passed to NailsBundle\Entity\nails::setUser() must be an instance of AppBundle\Entity\User, integer given
ругается на строку:
Код:
$nails -> setUser($userId);
Помогите, где и что я не так сделал?
 

WMix

герр M:)ller
Партнер клуба
public function setUser(\AppBundle\Entity\User $user = null)
$nails -> setUser($userId);
Catchable Fatal Error: Argument 1 passed to NailsBundle\Entity\nails::setUser() must be an instance of AppBundle\Entity\User, integer given
 

A1x

Новичок
список продуктов в переменной name - за такое именование руки отрывать по самую голову
 

scorpion-ds

Новичок
В объект продукта необходимо передавать не ИД пользователя, а сам объект пользователя.
 
Сверху