如何在其他实体中使用FOS UserId

时间:2018-01-24 14:48:03

标签: php entity-framework symfony doctrine-orm doctrine

当我尝试这样做时,我尝试将userid值保存到我的新实体RDV中:

$user = $this->getUser()->getId();
$rdv->setUserid($user);

这是我的RDV实体:

    /**
     * @ORM\ManyToOne(targetEntity="UserBundle\Entity\User", cascade=
       {"persist"})
     */
private $userid;

我收到此错误:

Catchable Fatal Error: Argument 1 passed to CMRBundle\Entity\RDV::setUserid() must be an instance of UserBundle\Entity\User, integer given, called in C:\wamp64\www\No\src\CMRBundle\Controller\AdvertController.php

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

试试这个:

$user = $this->getUser();
$rdv->setUserid($user);

因为你需要在关系中添加一个不是id的实体

我建议您将字段更改为private $user;,这样您就可以使用$rdv->setUser($user);更清楚地显示您的域名