学说2.0中的一对多关系问题

发布于 2024-11-19 14:24:02 字数 1226 浏览 1 评论 0原文

我有一个事件表和事件图像表。我有一个表单来添加新事件,因此我还为该事件添加多个图像。这样我就存储在事件图像表中。

那么我如何在两个表中插入数据..

<?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

I have an events table and events images table. I am having a form to add new event so i am also adding multiple images for that event. So that i am storing in event images table.

so how do i insert the data in both the tables..

<?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

Event images model

<?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

From my controller how do i save the data now.. I am thinking of first saving the event data and than will get that id and than will save the events images by loop.. than i am not getting what will be the use of the one to many mapper i have created..

I am using zend framework 1.11 and Doctrine 2.0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

踏雪无痕 2024-11-26 14:24:02

首先,您需要为对象创建 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 文档即可。这肯定会有帮助。

At first you need to create getters, setters to your objects. Then you just create

$event = new Default_Model_Event();
$em->persist($event);

while (something) {
  $image = new Default_Model_EventImages();
  $image->setEventimage_mapper($event);
  $em->persist($image);
}

$em->flush();

Just read the Doctrine documentation on associations. It will help for sure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文