我希望在一个使用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
然而,我不知道应该使用什么注释来实现这一点。我现在找到的唯一方法是在Grid
和GridItem
之间创建一个类似于GridRow
的中间类。所以我可以在他们之间建立多对一的联系。但这在桌子之间产生了一个新的"关节",我会有一个小但仍然重要的性能打击,这是我负担不起的。
关于如何在没有GridRow
课程的情况下做到这一点,你们有什么建议吗?因此仅使用Grid
和GridItem
?
谢谢你帮我!
我最终选择了GridRow
选项,因为我找不到存储数组数组的方法。。