BlackIce
Новичок
Установил FOSUserBundle и настроил авторизацию. Теперь необходимо связать таблицы User и product. делаю так:
NailsBundle\Entity\Nails (продукты)
AppBundle\Entity\User
Control:
Итог:
ругается на строку:
Помогите, где и что я не так сделал?
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;
}
Код:
/**
* @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;
}
Код:
//...............
$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);