Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/02/2016, 17:20
manelmanel8
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Relación OneToMany

Buenas a todos y gracias por la ayuda.

Mira tengo 3 entidades y quiero relacionar que districts y states esten relacionadas con empresa. Si hace falta pongo todo el código pero para que no sea tan largo pongo donde tengo la duda.

Estoy empezando con Symfony y voy un poco liado

En targetEntity tengo que poner el nombre de la entidad que quiero relacionar no?

En mappedBy tengo que poner el nombre de la entidad, de la tabla o de que?

Tengo el nombre de la tabla que quiero crear a la BD diferente a la entidad, para que sea más corto el nombre en la entidad.

El error viene al utilizar doctrine:schema:update que dice que no encuentra la entidad.

Las tablas a la BD no las tengo creadas.

Gracias.

Espero haber explicado bien.

Entidad InstCom.php
Código PHP:
<?php

namespace VnfqInstComBundleEntity
;

use 
DoctrineORMMapping as ORM;
use 
DoctrineCommonCollectionsArrayCollection;

/**
 * InstCom
 *
 * @ORM\Table(name="installation_companies")
 * @ORM\Entity(repositoryClass="Vnfq\InstComBundle\Repository\InstComRepository")
 */
class InstCom
{
    
/**
     * @ORM\OneToMany(targetEntity="District", mappedBy="installation_companies")
     */
    
protected $districts;
    
    
/**
     * @ORM\OneToMany(targetEntity="State", mappedBy="installation_companies")
     */
    
protected $states;
 
    public function 
__construct()
    {
        
$this->districts = new ArrayCollection();
        
$this->states = new ArrayCollection();
    }
Entidad District.php
Código PHP:
<?php

namespace VnfqInstComBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * Disctrict
 *
 * @ORM\Table(name="disctricts_brasil")
 * @ORM\Entity(repositoryClass="Vnfq\InstComBundle\Repository\DisctrictRepository")
 */
class Disctrict
{
    
/**
     * @ORM\ManyToOne(targetEntity="InstCom", inversedBy="disctricts_brasil")
     * @ORM\JoinColumn(name="district", referencedColumnName="id")
     */
    
protected $instcom;
Entidad State.php
Código PHP:
<?php

namespace VnfqInstComBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * State
 *
 * @ORM\Table(name="states_brasil")
 * @ORM\Entity(repositoryClass="Vnfq\InstComBundle\Repository\StateRepository")
 */
class State
{
    
/**
     * @ORM\ManyToOne(targetEntity="InstCom", inversedBy="states_brasil")
     * @ORM\JoinColumn(name="state", referencedColumnName="id")
     */
    
protected $instcom;