我有一个事件表和事件图像表。我有一个表单来添加新事件,所以我也为该事件添加了多个图像。所以我存储在事件图像表中。
所以如何在两个表中插入数据..
<?php
/**
* @Entity
* @Table(name="events")
*/
class Default_Model_Event
{
/**
* @Id @Column(name="id", type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @Column(name="title", type="string")
*/
private $title;
/**
* @OneToMany(targetEntity="Default_Model_EventImages" mappedBy="eventimage_mapper")
*/
private $images_mapper;
}//end class
活动图片模型
<?php
/**
* @Entity
* @Table(name="event_images")
*/
class Default_Model_EventImages
{
/**
* @Id @Column(name="id", type="integer")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @Column(name="name", type="string")
*/
private $name;
/**
* @ManyToOne(targetEntity="Default_Model_Event", inversedBy="images_mapper")
* @JoinColumn(name="event_id", referencedColumnName="id")
*/
private $eventimage_mapper;
}//end class
从我的控制器如何我现在保存数据..我想首先保存事件数据,而不是将获得该ID,而不是通过循环保存事件图像..比我没有得到什么将是使用我创建的一对多映射器..
我正在使用zend framework 1.11和Doctrine 2.0
答案 0 :(得分:1)
首先,您需要为对象创建getter,setter。然后你就创建了
$event = new Default_Model_Event();
$em->persist($event);
while (something) {
$image = new Default_Model_EventImages();
$image->setEventimage_mapper($event);
$em->persist($image);
}
$em->flush();
请阅读有关关联的Doctrine文档。这肯定会有所帮助。