Foros del Web » Programando para Internet » PHP » Symfony »

Guardar entidad cuyo Id no es autoincrement y es String

Estas en el tema de Guardar entidad cuyo Id no es autoincrement y es String en el foro de Symfony en Foros del Web. Buenas. Tengo una tabla que solo tiene Iso y descripción... intento con doctrine guardar un registro pero me guarda solo la descripción y me genera ...
  #1 (permalink)  
Antiguo 17/04/2015, 14:20
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 5 meses
Puntos: 50
Guardar entidad cuyo Id no es autoincrement y es String

Buenas.

Tengo una tabla que solo tiene Iso y descripción... intento con doctrine guardar un registro pero me guarda solo la descripción y me genera este error.

Entities passed to the choice field must be managed. Maybe persist them in the entity manager?


Lo estoy guardando asi:

Código PHP:
if ($form->isValid()) {
                    
$tabla->setIso($form["iso"]->getData());
                    
$em->persist($tabla);
                    
$em->flush();

Como soluciono este inconveniente? gracias.
  #2 (permalink)  
Antiguo 17/04/2015, 14:58
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Guardar entidad cuyo Id no es autoincrement y es String

Puedes publica tu entidad ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 17/04/2015, 15:25
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 5 meses
Puntos: 50
Respuesta: Guardar entidad cuyo Id no es autoincrement y es String

Esta es la entidad real... quedo atento gracias

Código PHP:
<?php

namespace AppBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * Country
 *
 * @ORM\Table(name="pais")
 * @ORM\Entity
 */
class Pais
{
      
    
/**
     * @var string
     *
     * @ORM\Column(name="iso_code", type="string", length=45)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    
private $isoCode;

    
/**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=45, nullable=false)
     */
    
private $name;
    
    
/**
     * Set isoCode
     *
     * @param string $isoCode
     * @return isoCode
     */
    
public function setIso($isoCode)
    {
        
$this->isoCode $isoCode;

        return 
$this;
    }   
    
/**
     * Get isoCode
     *
     * @return string 
     */
    
public function getIso()
    {
        return 
$this->isoCode;
    }

    
/**
     * Set name
     *
     * @param string $name
     * @return Country
     */
    
public function setName($name)
    {
        
$this->name $name;

        return 
$this;
    }

    
/**
     * Get name
     *
     * @return string 
     */
    
public function getName()
    {
        return 
$this->name;
    }
}
  #4 (permalink)  
Antiguo 19/04/2015, 13:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Guardar entidad cuyo Id no es autoincrement y es String

El id debe de ser id no isoCode y debes de crear una estrategia para que doctrine determine el siguiente id.
Revisa la documentación de doctrine.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 20/04/2015, 07:53
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 5 meses
Puntos: 50
Respuesta: Guardar entidad cuyo Id no es autoincrement y es String

Ok si tiene toda la razón tenia mal creada la entidad...gracias!

Etiquetas: entidad, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:30.