Hola:
El concepto dice: una relacion bidireccional tiene un lado propietario y otro inverso en cambio el unidireccional solo tiene un lado propietario. Entonces el lado propietario determina las modificaciones de la relacion en la base de datos.
yo tengo la siguiente tabla departamento
Cita: +--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| id | int(4) | NO | PRI | NULL | auto_increment |
| descripcion | varchar(200) | YES | | NULL | |
| departamento_id | int(4) | YES | | NULL | |
donde el lado propietario sería id y el inverso departamento_id las relaciones serían OneToMany bidireccional por lo que generé este modelo para representarlo:
Código PHP:
Ver originalclass Departamento
{
/**
* @var integer
* @OneToMany(targetEntity="departamento", inversedBy="departamento_id")
* @JoinColumn(name="id", referencedColumnName="departamento_id")
*
* @Column(name="id", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @Column(name="descripcion", type="string", length=200, nullable=false)
*/
private $descripcion;
/**
* @var integer
* @ManyToOne(targetEntity="departamento",mappedBy="id")
* @Column(name="departamento_id", type="integer", nullable=false)
*/
private $departamentoId;
....
, tengo un mensaje de Creation Error en doctrine
Cita: [Creation Error] The annotation @OneToMany declared on property Entities\Departamento::$id does not have a property named "inversedB
y". Available properties: mappedBy, targetEntity, cascade, fetch, orphanRemoval, indexBy