2017-08-14 9 views
1

ticket_attachmentsticket_comments、およびticket_status_historyticketを保存する必要があります。 ticketオブジェクトだけを残していますが、添付ファイル、コメント、および履歴を保存したいと思います。私は教義とsymfonyと注釈を使用しています。symfonyとdoctrineを関連付けオブジェクトやテーブルとともにpostgresqlに保存できませんか?

ticketにmappedByとcascade removeを使用して3つの配列コレクションを作成しました。また、添付ファイル、コメント、および履歴にinversedByを使用しました。しかし、持続してフラッシュした後にはticketだけが保存されますが、他のオブジェクト、つまり添付ファイル、コメント、履歴は保存されません。しかし、Noエラーと表示されます。

Ticket.php

/** 
    * @ORM\OneToMany(targetEntity="AppBundle\Entity\TicketAttachments", mappedBy="ticket", cascade={"persist", "remove"}) 
    */ 
    private $attachments; 

    /** 
    * @ORM\OneToMany(targetEntity="AppBundle\Entity\TicketComments", mappedBy="ticket", cascade={"persist", "remove"}) 
    */ 
    private $comments; 

    /** 
    * @ORM\OneToMany(targetEntity="AppBundle\Entity\TicketStatusHistory", mappedBy="ticket", cascade={"persist", "remove"}) 
    */ 
    private $historys; 

    public function __construct() 
    { 
     $this->attachments = new ArrayCollection(); 
     $this->comments = new ArrayCollection(); 
     $this->historys = new ArrayCollection(); 
    } 

歴史、コメントとAttachments.php

/** 
    * @var \AppBundle\Entity\Ticket 
    * 
    * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Ticket", inversedBy="historys") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="ticket_id", referencedColumnName="id") 
    * }) 
    */ 
    private $ticket; 

すべてが、それはセッターとゲッターだ持っています。問題はどこだ?

+0

in Ticket.php添付ファイル 'public function setTicketAttachmentsList($ attachments){ $ this-> attachments = $ attachments; return $ this; } 'と添付ファイルのpublic function setTicket(\ AppBundle \ Entity \ Ticket $ ticket = null) { $ this-> ticket = $ ticket; return $ this; } ' – Hunter

答えて

0

お互いに設定していますか?次のように:カスケード持続が機能するためには、それらはセッター(または何らかの方法)内でお互いに関連付けられていなければなりません。

関連する問題