2012-03-29 131 views
1

我想在使用Zend和Doctrine2的類中有一個數組數組。使用doctrine 2存儲多維數組的最佳方式是什麼?

所以我有一個名爲Grid的類,它應該有一個包含GridItem數組數組的屬性。這些GridItem也包含指向Product實例的鏈接。

這裏的Grid.php

/** 
* @Entity 
* @Table(name="Grid") 
*/ 
class GPos_Model_Grid extends GPos_Doctrine_ActiveEntity { 
    /** 
    * @Id @Column(type="integer") 
    * @GeneratedValue 
    */ 
    private $id; 

    /** @Column(type="integer") */ 
    private $number; 

    //THIS IS THE ATTRIBUTE 
    private $grid; 
} 

而這裏的GridItem.php

/** 
* @Entity 
* @Table(name="GridItem") 
*/ 
class GPos_Model_GridItem extends GPos_Doctrine_ActiveEntity { 
    /** 
    * @Id @Column(type="integer") 
    * @GeneratedValue 
    */ 
    private $id; 

    /** @Column(length=7) */ 
    private $color; 

    /** @Column(type="boolean") */ 
    private $grid; 

    /** 
    * @ManyToOne(targetEntity="Product") 
    * @JoinColumn(name="product_id", referencedColumnName="id") 
    */ 
    private $product; 
} 

因此,正如我說的,我想了$grid屬性被存儲爲GridItem ArrayCollections的ArrayCollection。
但是,我無法弄清楚我應該用什麼註釋來實現這一點。我現在發現的唯一方法是創建一個介於GridGridItem之間的中產階級,類似GridRow。所以我可以在他們之間建立多對一的關係。但是這產生了一個新的表格之間的「聯合」,我會有一個小但仍然顯着的性能損失,這是我無法承受的。

你們對沒有GridRow課程的學生有什麼建議嗎?因此只使用GridGridItem

謝謝你幫助我!

回答

0

我終於選擇GridRow選項,因爲我發現沒有辦法存儲陣列的陣列..

相關問題