title: Doctrine/symfony2 Object of class could not be converted to string
body: <p>I have a problem with my project in Symfony 2 i get this error</p>
  
  <pre><code>Catchable Fatal Error: Object of class Nicearma\MemesBundle\Entity\Usuario could not be converted to string in C:\wamp\www\24memes\vendor\doctrine-dbal\lib\Doctrine\DBAL\Statement.php line 131
  </code></pre>
  
  <p>The problem is, that i trying to do a form, from UsuarioInfo class, and this class have one object Usuario, the form work fine, but went send the information i get the message
  And i dont find the solution, anyone knows how fix this?
  I have this files</p>
  
  <p>registro.html.twig</p>
  
  <pre><code>&lt;div class="usuario"&gt;
  {{ form_row(form.usuario) }}
  &lt;/div&gt;
  {{ form_rest(form) }}
  </code></pre>
  
  <p>Usuario.php</p>
  
  <pre><code>namespace Nicearma\MemesBundle\Entity;
  
  use Doctrine\ORM\Mapping as ORM;
  use Symfony\Component\Security\Core\User\UserInterface;
  use Symfony\Component\Validator\Constraints as Assert;
  
  /**
   * Nicearma\MemesBundle\Entity\Usuario
   *
   * @ORM\Table(name="usuario")
   * @ORM\Entity(repositoryClass="Nicearma\MemesBundle\Repository\Usuario")
   */
  class Usuario implements UserInterface
  {
      /**
       * @var integer $id
       * @ORM\Column(name="id", type="integer", nullable=false)
       * @ORM\Id
       * @ORM\GeneratedValue(strategy="IDENTITY")
       */
      private $id;
  
      /**
       * @var string $nombre
       * @Assert\Type(type="String") 
       * @Assert\MaxLength(255)
       * @Assert\NotBlank
       * @ORM\Column(name="nombre", type="string", length=255, nullable=false)
       */
      private $nombre;
  
       /**
       * @var string $clave
       * @Assert\NotBlank
       * @Assert\Type(type="String")
       * @Assert\MaxLength(255)
       * @ORM\Column(name="clave", type="string", length=255, nullable=false)
       */
      private $clave;
  
      /**
       * @var integer $punto
       *
       * @ORM\Column(name="punto", type="integer", nullable=false)
       */
      private $punto;
  
      /**
       * @var UsuarioEstado
       *
       * @ORM\ManyToOne(targetEntity="UsuarioEstado")
       * @ORM\JoinColumns({
       *   @ORM\JoinColumn(name="id_usuario_estado", referencedColumnName="id")
       * })
       */
      private $UsuarioEstado;
  
       /**
       * @var IdUsuarioEstado
       * @ORM\Column(name="id_usuario_estado", type="integer", nullable=false)
       * })
       */
      private $idUsuarioEstado;
  
      /**
       * @var UsuarioTipo
       *
       * @ORM\ManyToOne(targetEntity="UsuarioTipo")
       * @ORM\JoinColumns({
       *   @ORM\JoinColumn(name="id_usuario_tipo", referencedColumnName="id")
       * })
       */
      private $UsuarioTipo;
  
     /**
       * @var idUsuarioTipo
       * @ORM\Column(name="id_usuario_tipo", type="integer", nullable=false)
       */
  
      private $idUsuarioTipo;
  
      /**
       * Get id
       *
       * @return integer 
       */
      public function getId()
      {
          return $this-&gt;id;
      }
  
      /**
       * Set nombre
       *
       * @param string $nombre
       */
      public function setNombre($nombre)
      {
          $this-&gt;nombre = $nombre;
      }
  
      /**
       * Get nombre
       *
       * @return string 
       */
      public function getNombre()
      {
          return $this-&gt;nombre;
      }
  
      /**
       * Set punto
       *
       * @param integer $punto
       */
      public function setPunto($punto)
      {
          $this-&gt;punto = $punto;
      }
  
      /**
       * Get punto
       *
       * @return integer 
       */
      public function getPunto()
      {
          return $this-&gt;punto;
      }
  
      /**
       * Set UsuarioEstado
       *
       * @param Nicearma\MemesBundle\Entity\UsuarioEstado $idUsuarioEstado
       */
      public function setUsuarioEstado(\Nicearma\MemesBundle\Entity\UsuarioEstado $UsuarioEstado)
      {
          $this-&gt;UsuarioEstado = $UsuarioEstado;
      }
  
      /**
       * Get UsuarioEstado
       *
       * @return Nicearma\MemesBundle\Entity\UsuarioEstado 
       */
      public function getUsuarioEstado()
      {
          return $this-&gt;UsuarioEstado;
      }
       /**
       * Set idUsuarioEstado
       *
       * @param integer $idUsuarioEstado
       */
      public function setIdUsuarioEstado( $idUsuarioEstado)
      {
          $this-&gt;idUsuarioEstado = $idUsuarioEstado;
      }
  
      /**
       * Get idUsuarioEstado
       *
       * @return integer
       */
      public function getIdUsuarioEstado()
      {
          return $this-&gt;idUsuarioEstado;
      }
  
      /**
       * Set UsuarioTipo
       *
       * @param Nicearma\MemesBundle\Entity\UsuarioTipo $idUsuarioTipo
       */
      public function setUsuarioTipo(\Nicearma\MemesBundle\Entity\UsuarioTipo $UsuarioTipo)
      {
          $this-&gt;UsuarioTipo = $UsuarioTipo;
      }
  
      /**
       * Get UsuarioTipo
       *
       * @return Nicearma\MemesBundle\Entity\UsuarioTipo 
       */
      public function getUsuarioTipo()
      {
          return $this-&gt;UsuarioTipo;
      }
  
      /**
       * Set idUsuarioTipo
       *
       * @param integer $idUsuarioTipo
       */
      public function setIdUsuarioTipo( $idUsuarioTipo)
      {
          $this-&gt;idUsuarioTipo = $idUsuarioTipo;
      }
  
      /**
       * Get idUsuarioTipo
       *
       * @return integer
       */
      public function getIdUsuarioTipo()
      {
          return $this-&gt;idUsuarioTipo;
      }
  
      public function equals(UserInterface $user)
      {
          return $this-&gt;username === $user-&gt;getUsername();
      }
  
      public function eraseCredentials() {
  
      }
  
      public function getPassword() {
          return $this-&gt;clave;
      }
  
      public function getRoles() {
         $this-&gt;idUsuarioTipo-&gt;getTipo();
      }
  
      public function getSalt() {
          return null;
      }
  
      public function getUsername() {
          return $this-&gt;nombre;
      }
  
      /**
       * Set clave
       *
       * @param string $clave
       */
      public function setClave($clave)
      {
          $this-&gt;clave = $clave;
      }
  
      /**
       * Get clave
       *
       * @return string 
       */
      public function getClave()
      {
          return $this-&gt;clave;
      }
  }
  </code></pre>
  
  <p>UsuarioType.php</p>
  
  <pre><code>namespace Nicearma\MemesBundle\Form;
  
  use Symfony\Component\Form\AbstractType;
  use Symfony\Component\Form\FormBuilder;
  
  class UsuarioType extends AbstractType
  {
      public function buildForm(FormBuilder $builder, array $options)
      {
          $builder
              -&gt;add('nombre')
              -&gt;add('clave')
          ;
      }
      public function getDefaultOptions(array $options)
      {
      return array(
          'data_class' =&gt; 'Nicearma\MemesBundle\Entity\Usuario',
      );
      }
      public function getName()
      {
          return 'Usuario';
      }
  }
  </code></pre>
  
  <p>usuarioInfo.php</p>
  
  <pre><code>namespace Nicearma\MemesBundle\Entity;
  
  use Doctrine\ORM\Mapping as ORM;
  use Symfony\Component\Validator\Constraints as Assert;
  /**
   * Nicearma\MemesBundle\Entity\UsuarioInfo
   *
   * @ORM\Table(name="usuario_info")
   * @ORM\Entity
   */
  class UsuarioInfo
  {
      /**
       * @var integer $id
       * 
       * @ORM\Column(name="id", type="integer", nullable=false)
       * @ORM\Id
       * @ORM\GeneratedValue(strategy="IDENTITY")
       */
      private $id;
  
      /**
       * @var string $correo
       * Assert\Email
       * @ORM\Column(name="correo", type="string", length=255, nullable=false)
       */
      private $correo;
  
      /**
       * @var Usuario
       * @Assert\Type(type="Nicearma\MemesBundle\Entity\Usuario")
       * @ORM\OneToOne(targetEntity="Usuario")
       * @ORM\JoinColumns({
       *   @ORM\JoinColumn(name="id_usuario", referencedColumnName="id")
       * })
       */
      private $Usuario;
  
       /**
       * @var idUsuario
       * @ORM\Column(name="id_usuario", type="integer", nullable=false)
       */
      private $idUsuario;
  
  
      /**
       * @var Nacionalidad
       * @Assert\Type(type="Nicearma\MemesBundle\Entity\Nacionalidad")
       * @ORM\ManyToOne(targetEntity="Nacionalidad")
       * @ORM\JoinColumns({
       *   @ORM\JoinColumn(name="id_pais", referencedColumnName="id")
       * })
       */
       private $Pais;
  
  
  
      /**
       * Get id
       *
       * @return integer 
       */
      public function getId()
      {
          return $this-&gt;id;
      }
  
      /**
       * Set correo
       *
       * @param string $correo
       */
      public function setCorreo($correo)
      {
          $this-&gt;correo = $correo;
      }
  
      /**
       * Get correo
       *
       * @return string 
       */
      public function getCorreo()
      {
          return $this-&gt;correo;
      }
  
      /**
       * Set Usuario
       *
       * @param Nicearma\MemesBundle\Entity\Usuario $Usuario
       */
      public function setUsuario(\Nicearma\MemesBundle\Entity\Usuario $Usuario)
      {
          $this-&gt;Usuario = $Usuario;
      }
  
      /**
       * Get Usuario
       *
       * @return Nicearma\MemesBundle\Entity\Usuario 
       */
      public function getUsuario()
      {
          return $this-&gt;Usuario;
      }
  
      /**
       * Set Pais
       *
       * @param Nicearma\MemesBundle\Entity\Nacionalidad $Pais
       */
      public function setPais(\Nicearma\MemesBundle\Entity\Nacionalidad $Pais)
      {
          $this-&gt;Pais = $Pais;
      }
  
      /**
       * Get Pais
       *
       * @return Nicearma\MemesBundle\Entity\Nacionalidad 
       */
      public function getPais()
      {
          return $this-&gt;Pais;
      }
  }
  </code></pre>
  
  <p>usuarioInfoType.php</p>
  
  <pre><code>namespace Nicearma\MemesBundle\Form;
  
  use Symfony\Component\Form\AbstractType;
  use Symfony\Component\Form\FormBuilder;
  use Doctrine\ORM\EntityRepository;
  
  class UsuarioInfoType extends AbstractType
  {
      public function buildForm(FormBuilder $builder, array $options)
      {
          $builder
              -&gt;add('correo')
              -&gt;add('pais', 'entity', array ('class'=&gt;'Nicearma\\MemesBundle\\Entity\\Nacionalidad','property'=&gt;'nom_pais'))
              -&gt;add('usuario',new UsuarioType);    
          ;
      }
  
      public function getDefaultOptions(array $options)
      {
      return array(
          'data_class' =&gt; 'Nicearma\MemesBundle\Entity\UsuarioInfo',
      );
      }
  
      public function getName()
      {
          return 'UsuarioInfo';
      }
  }
  </code></pre>
  
  <p>And the controller is</p>
  
  <pre><code>public function registroAction(Request $peticion){
          $regUs= new \Nicearma\MemesBundle\Entity\UsuarioInfo();
          $formulario = $this-&gt;createForm(new \Nicearma\MemesBundle\Form\UsuarioInfoType(),  $regUs);
          if ($peticion-&gt;getMethod() == 'POST') {
              $formulario-&gt;bindRequest($peticion);
              if ($formulario-&gt;isValid()) {
                 // $regUs-&gt;setIdUsuario(1);
                  $em = $this-&gt;getDoctrine()-&gt;getEntityManager();
                  $
                  $em-&gt;persist($regUs);
                  $em-&gt;flush();
                  $base-&gt;flush();
                 return $this-&gt;redirect($this-&gt;generateUrl('DenunciaEnviada'));
              }else{
  
              }
          }
          return $this-&gt;render('NicearmaMemesBundle:Usuario:usuarioRegistro.html.twig', array('form' =&gt; $formulario-&gt;createView(),'titulo'=&gt;'Crear usuario','descripcion'=&gt;'usuario','claves'=&gt;'us','nombre'=&gt;'Prueba usuario'));
      }
  </code></pre>