Symfony2 EntityManager#persist() expects parameter 1 to be an entity object, array given

匿名 (未验证) 提交于 2019-12-03 01:08:02

问题:

I am new to Symfony2 and can't to figure out why I'm getting this error. Perhaps there is something wrong with my Entities? So I need some help with it. An error:

     EntityManager#persist() expects parameter 1 to be an entity object, array given. 500 Internal Server Error - ORMInvalidArgumentException  

I have the following code:

User.php:

    <?php  namespace Acme\MainBundle\Entity;  use Doctrine\ORM\Mapping as ORM;  /**  * User  */ class User {     /**      * @var integer      */     private $id;      /**      * @var string      */     private $username;      /**      * @var string      */     private $password;       /**      * Get id      *      * @return integer       */     public function getId()     {         return $this->id;     }      /**      * Set username      *      * @param string $username      * @return User      */     public function setUsername($username)     {         $this->username = $username;          return $this;     }      /**      * Get username      *      * @return string       */     public function getUsername()     {         return $this->username;     }      /**      * Set password      *      * @param string $password      * @return User      */     public function setPassword($password)     {         $this->password = $password;          return $this;     }      /**      * Get password      *      * @return string       */     public function getPassword()     {         return $this->password;     } } 

UserRegType.php

    <?php namespace Acme\MainBundle\Form\Type;  use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints\Length;  class UserRegType extends AbstractType  {     public function buildForm(FormBuilderInterface $builder, array $options) {         $builder->add('username', 'text', array(             'constraints'=>new Length(array('min' => 3))         ));         $builder->add('password', 'repeated', array(             'first_name' => 'password',             'second_name' => 'confirm',             'type' => 'password',             'constraints' => new Length(array('min' => 5, 'max' => 8))         ));     }      public function getDefaultOptions(array $options)     {         return array('data_class' => 'Acme\MainBundle\Entity\User');     }      public function getName() {         return 'user';     } } ?> 

UserController.php:

    <?php  namespace Acme\MainBundle\Controller;  use Symfony\Bundle\FrameworkBundle\Controller\Controller;  use Acme\MainBundle\Form\Type\UserRegType;  class UserController extends Controller {     public function registerAction()     {             $form = $this->createForm(new UserRegType());         return $this->render(             'AcmeMainBundle:User:register.html.twig',             array('form' => $form->createView())         );         }      public function createUserAction()     {         $em = $this->getDoctrine()->getEntityManager();          $form = $this->createForm(new UserRegType());          $form->bind($this->getRequest());         $username = $form["username"]->getData();          if ($form->isValid()) {             $reg = $form->getData();             $em->persist($reg);             $em->flush();             $session = $this->get('session');              $session->set('username', $username);                  return $this->redirect($this->generateUrl('home'));         }     }      public function loginAction()     {     }      public function logoutAction()     {     }   } 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!