我对以下错误信息感到困惑和沮丧:
可捕获的致命错误:传递给Medicine\UserBundle\Entity\User :: setUsertype()的参数1必须是Medicine\UserBundle\Entity\Usertype的实例,Doctrine\Common\Collections\ArrayCollection的实例,在/ opt/lampp中调用第347行的/ htdocs/drugs/vendor/symfony/src/Symfony/Component/Form/Util /PropertyPath.php,在/ opt/lampp/htdocs/drugs/src/Medicine/UserBundle/Entity/User.php第224行中定义
我认为这个错误是由于在我的实体中使用了多个字段,我甚至试图在另一个实体中保持onetomany.
我有一个用户实体和一个usertype实体,usertype_id是用户表中的manytoone字段.这是两个实体的代码: -
用户
namespace Medicine\UserBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity(repositoryClass="Medicine\UserBundle\Repository\UserRepository")
* @ORM\Table(name="user")
* @ORM\HasLifecycleCallbacks()
*/
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\HasLifecycleCallbacks()
*/
protected $id;
/**
* @ORM\Column(type="string")
*/
protected $username;
/**
* @ORM\ManyToOne(targetEntity="Usertype", inversedBy="users")
* @ORM\JoinColumn(name="usertype_id", referencedColumnName="id")
*/
protected $usertype;
/**
* @ORM\Column(type="string")
*/
protected $image;
/**
* Set usertype
*
* @param Medicine\UserBundle\Entity\Usertype $usertype
*/
public function setUsertype(\Medicine\UserBundle\Entity\Usertype $usertype)
{ …Run Code Online (Sandbox Code Playgroud) symfony ×1