2013-02-21 57 views
0

你好,我是symfony2中的新成員,我試圖在生成的關係表中保留多對多關係的一些屬性。問題依然存在。我花了兩天多的時間試圖證明它有效,很顯然,我不能獨自一人,我會以最後的機會去找你。我有一個名爲OrdenProduccion的實體,另一個名爲Empleado,這兩個實體是多對多的關係,這種關係會生成另一個表,但這種關係具有屬性。實體是以下的實體。如何在表格中保存與這個關係中屬性的多對多關係

class Empleado 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="integer", length=3, nullable=false) 
    * @ORM\Id 
    */ 
    private $id; 

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

    /** 
    * @ORM\OneToMany(targetEntity="EmpleadoOproduccion" , mappedBy="empleado") 
    */ 
    private $orden; 

我做了代表

class OrdenProduccion 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 

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

     /** 
    * @ORM\OneToMany(targetEntity="EmpleadoOproduccion", mappedBy="orden") 
    */ 
    private $empleados; 

我想在BD

class EmpleadoOproduccion 
{ 
    /** 
    * @ORM\Id 
    * @ORM\ManyToOne(targetEntity="Empleado", inversedBy="id") 
    * @ORM\JoinColumn(name="empleado_id", referencedColumnName="id") 
    */ 
    private $empleado; 

    /** 
    * @ORM\Id 
    * @ORM\ManyToOne(targetEntity="OrdenProduccion", inversedBy="id") 
    * @ORM\JoinColumn(name="orden_id", referencedColumnName="id") 
    */ 
    private $orden; 

    /** 
    * @var \Time $tiempo 
    * 
    * @ORM\Column(name="tiempo", type="time", nullable=false) 
    */ 
    private $tiempo; 

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

的關係與其他實體的表的實體,一旦它會插入一個OrdenProduccion他們可以與BD中存在的許多員工相關聯。

請幫我...

回答

0

您的實體中沒有多對多關係。但是這很好,因爲在關係上有額外的屬性,你實際上有兩個獨立的關係到這個中間實體。

究竟什麼不行?如果您可以爲您的實體和屬性提供英文名稱,這將會很有幫助。

不知何故,你的註釋沒有多大意義。例如:

/** 
* @ORM\Id 
* @ORM\ManyToOne(targetEntity="Empleado", inversedBy="id") 
* @ORM\JoinColumn(name="empleado_id", referencedColumnName="id") 
*/ 
private $empleado; 

inversedBy="id"不能正確的 - 雖然這可能是完全無關你的問題。

爲了實際描述您的設計實體與您的期望不符,我們需要看到一些實際上適用於這些實體的代碼 - 以及哪些代碼出現故障。

+0

你有沒有在多對多關係中插入一些屬性的例子? – Odi 2013-02-21 16:17:43