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

[SOLUCIONADO] Relaciones entre entidades en FOSUserBundle

Estas en el tema de Relaciones entre entidades en FOSUserBundle en el foro de Symfony en Foros del Web. Hola a todos, estoy intentando hacer una relacion de uno a muchos entre mi tabla usuario q hereda de la de FOSUserBundle, esta la tengo ...
  #1 (permalink)  
Antiguo 04/03/2015, 11:32
Avatar de cbretana  
Fecha de Ingreso: junio-2013
Ubicación: Pinar del Rio
Mensajes: 55
Antigüedad: 10 años, 10 meses
Puntos: 0
Relaciones entre entidades en FOSUserBundle

Hola a todos, estoy intentando hacer una relacion de uno a muchos entre mi tabla usuario q hereda de la de FOSUserBundle, esta la tengo en otro bundle q es el q uso para sobreescribir las entidades, forms, etc del FOSUserBundle, cuando hago la relacion y trato de actualizar el esquema, me da un error, les muestro mi codigo, saludos y gracias de antemano.

Código PHP:
<?php

namespace CBGAppBundleEntity
;

use 
DoctrineORMMapping as ORM;
use 
CBGUserBundleEntityUser;

/**
 * Producto
 *
 * @ORM\Table(name="producto")
 * @ORM\Entity
 */
class Producto
{
    
/**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
private $id;

    
/**
     * @var string
     *
     * @ORM\Column(name="nombre", type="string", length=255)
     */
    
private $nombre;

    
/**
     * @var string
     *
     * @ORM\Column(name="tipo", type="string", length=255)
     */
    
private $tipo;

    
/**
     * @var float
     *
     * @ORM\Column(name="precio", type="float")
     */
    
private $precio;

    
/**
     * @ORM\ManyToOne(targetEntity="User")
    */
    
private $owner;

    
///Getters y setters...
esta es mi entidad User:
Código PHP:
<?php

namespace CBGUserBundleEntity
;

use 
FOSUserBundleEntityUser as BaseUser;
use 
DoctrineORMMapping as ORM;


/**
 * @ORM\Entity
 * @ORM\Table(name="host_user")
 */
class User extends BaseUser {
    
/**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
protected $id;

    public function 
__construct() {
        
parent::__construct();

    }
}
y este es el error que me da en la consola cuando corro el comando de actualizar esquema:
Código:
Symfony > doctrine:schema:update --dump-sql


                                                                               
  [Doctrine\ORM\Mapping\MappingException]                                      
  The target-entity CBG\AppBundle\Entity\User cannot be found in 'CBG\AppBundle\Entity\Producto#owner'.                                       
                                                                               


doctrine:schema:update [--complete] [--dump-sql] [--force] [--em[="..."]]


The command terminated with an error status (1)
__________________
.::Una imagen vale mas que mil palabras::.
  #2 (permalink)  
Antiguo 04/03/2015, 11:54
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Relaciones entre entidades en FOSUserBundle

Tu entidad producto está en AppBundle, mientras que tu entidad usuario está en CBGUserBundle. Así como están mapeadas, va a buscar la entidad usuario dentro de AppBundle donde no existe.

Tenés que mapearla a CBGUserBundle

Código PHP:
/**
 * @ORM\ManyToOne(targetEntity="CBG\CBGUserBundle\Entity\User")
 */
private $owner

Etiquetas: entidades, relaciones
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 12:31.