Невозможно сохранить в postgresql, используя symfony и доктрину с объектами ассоциации или таблицей?

Я должен спасти ticket с ticket_attachments,ticket_comments а также ticket_status_history, Я буду только настаивать ticket объект, но хотите сохранить вложения, комментарии и историю. Я использую учение, симфонию и аннотации.

Я создал 3 коллекции массивов в ticket с mappedBy и каскадом удалить и сохранить. И использовал inversedBy во вложениях, комментариях и истории. Но после упорства и промывки только ticket сохраняется, но другие объекты, то есть вложения, комментарии и истории, не сохраняются. Но показывает Нет ошибок.

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();
}

История, комментарии и вложения.php

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

У всех есть сеттер и геттер. В чем проблема?

1

Решение

Вы настраиваете их друг к другу? Как в:

public function addToHistories($history) {
$this->historys[] = $history;
$history->setTicket($this);
}

Они должны быть связаны друг с другом в установщиках (или каким-либо другим способом), чтобы каскад продолжал работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector