Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2011, 08:14
Avatar de carlos_belisario
carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Problema con entity generada por doctrine

Buenas tengo el siguiente problema, hice la generación de mis entity por medio del comando
Código consola:
Ver original
  1. doctrine:mapping:import MiBundle annotation
y me lo genero fino, luego tube que crear otra entity que salio a ultima hora, cuando le doy el
Código consola:
Ver original
  1. doctrine:schema:update
tanto el --force como el --dump-sql me da el siguiente error
Cita:
[Doctrine\ORM\ORMException]
Column name `campo` referenced for relation from MiBundle\Entity\Inscripcion towards MiBundle\Entity\AlumnoDatosAcademicos does not exist.
lo mas barbaro es que esas dos entity me las genero automáticamente doctrine cuando hice el impor, y si se fijan
Entity Inscripción
Código PHP:
<?php

namespace MiBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * Secretaria\TaquillaBundle\Entity\Inscripcion
 *
 * @ORM\Table(name="inscripcion")
 * @ORM\Entity
 */
class Inscripcion
{
    
/**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    
private $id;

    
/**
     * @var string $seccion
     *
     * @ORM\Column(name="seccion", type="string", length=10, nullable=false)
     */
    
private $seccion;

    
/**
     * @var string $observacion
     *
     * @ORM\Column(name="observacion", type="string", length=200, nullable=true)
     */
    
private $observacion;

    
/**
     * @var AlumnoDatosAcademicos
     *
     * @ORM\ManyToOne(targetEntity="AlumnoDatosAcademicos")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="cedula", referencedColumnName="cedula")
     * })
     */
    
private $cedula;

    
/**
     * @var Horario
     *
     * @ORM\ManyToOne(targetEntity="Horario")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="bloque_fin", referencedColumnName="id")
     * })
     */
    
private $bloqueFin;

    
/**
     * @var Carreras
     *
     * @ORM\ManyToOne(targetEntity="Carreras")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="carrera_inscrita", referencedColumnName="codigo_carrera")
     * })
     */
    
private $carreraInscrita;

    
/**
     * @var Horario
     *
     * @ORM\ManyToOne(targetEntity="Horario")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="blogque", referencedColumnName="id")
     * })
     */
    
private $blogque;

    
/**
     * @var CondicionNotas
     *
     * @ORM\ManyToOne(targetEntity="CondicionNotas")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="condicion", referencedColumnName="codigo")
     * })
     */
    
private $condicion;

    
/**
     * @var PeriodosAcademicos
     *
     * @ORM\ManyToOne(targetEntity="PeriodosAcademicos")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="periodo_academico", referencedColumnName="id")
     * })
     */
    
private $periodoAcademico;

    
/**
     * @var Materias
     *
     * @ORM\ManyToOne(targetEntity="Materias")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="codigo_materia", referencedColumnName="codigo")
     * })
     */
    
private $codigoMateria;



    
/**
    * GETTER AND SETTER
    */
}
Entity AlumnoDatosAcademicos
Código PHP:
<?php

namespace SecretariaTaquillaBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * Secretaria\TaquillaBundle\Entity\AlumnoDatosAcademicos
 *
 * @ORM\Table(name="alumno_datos_academicos")
 * @ORM\Entity
 */
class AlumnoDatosAcademicos
{
    
/**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    
private $id;

    
/**
     * @var date $fechaIngreso
     *
     * @ORM\Column(name="fecha_ingreso", type="date", nullable=false)
     */
    
private $fechaIngreso;

    
/**
     * @var string $activo
     *
     * @ORM\Column(name="activo", type="string", length=2, nullable=false)
     */
    
private $activo;

    
/**
     * @var string $becado
     *
     * @ORM\Column(name="becado", type="string", length=2, nullable=false)
     */
    
private $becado;

    
/**
     * @var string $institucionBeca
     *
     * @ORM\Column(name="institucion_beca", type="string", length=100, nullable=false)
     */
    
private $institucionBeca;

    
/**
     * @var string $atleta
     *
     * @ORM\Column(name="atleta", type="string", length=2, nullable=false)
     */
    
private $atleta;

    
/**
     * @var string $institucionAtleta
     *
     * @ORM\Column(name="institucion_atleta", type="string", length=100, nullable=false)
     */
    
private $institucionAtleta;

    
/**
     * @var AlumnoDatosPersonales
     *
     * @ORM\ManyToOne(targetEntity="AlumnoDatosPersonales")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="cedula", referencedColumnName="cedula")
     * })
     */
    
private $cedula;

    
/**
     * @var Carreras
     *
     * @ORM\ManyToOne(targetEntity="Carreras")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="codigo_carrera", referencedColumnName="codigo_carrera")
     * })
     */
    
private $codigoCarrera;

    
/**
     * @var CondicionEstudiante
     *
     * @ORM\ManyToOne(targetEntity="CondicionEstudiante")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="condicion_estudiante", referencedColumnName="codigo")
     * })
     */
    
private $condicionEstudiante;

    
/**
     * @var ModalidadIngreso
     *
     * @ORM\ManyToOne(targetEntity="ModalidadIngreso")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="modo_ingreso", referencedColumnName="codigo")
     * })
     */
    
private $modoIngreso;

    
/**
     * @var Pensum
     *
     * @ORM\ManyToOne(targetEntity="Pensum")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="pensum", referencedColumnName="id")
     * })
     */
    
private $pensum;
/**
* GETTER AND SETTER
*/
}
probe agregarle esta annotation
Código PHP:
* @ORMOneToMany(targetEntity="Inscrpcion"mappedBy="AlumnoDatosAcademicos"
a la propiedad cedula de alumno_datos_academicos a ver si era falta de la annotation de relacion pero nada, saludos y de antemano gracias por la ayuda que me puedan birndar
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way