使用原则2存储多维数组的最佳方式是什么


What is the best way to store a multidimensional array using doctrine 2?

我希望在一个使用Zend和Doctrine2的类中有一个数组。

所以我有一个名为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的ArrayCllection
然而,我不知道应该使用什么注释来实现这一点。我现在找到的唯一方法是在GridGridItem之间创建一个类似于GridRow的中间类。所以我可以在他们之间建立多对一的联系。但这在桌子之间产生了一个新的"关节",我会有一个小但仍然重要的性能打击,这是我负担不起的。

关于如何在没有GridRow课程的情况下做到这一点,你们有什么建议吗?因此仅使用GridGridItem

谢谢你帮我!

我最终选择了GridRow选项,因为我找不到存储数组数组的方法。。