anyavacy
anyavacy

Reputation: 1707

delete a row from table based on a specific association

I have two tables page and paragraph(a One to One relation ship). each page has only one paragraph. what I want is to see a row from the paragraph table deleted once the corresponding row on the page table gets deleted.

Upvotes: 1

Views: 106

Answers (2)

delpha
delpha

Reputation: 970

Use something like

@ORM\OneToOne(targetEntity="Paragraph", mappedBy="page",cascade={"persist", "remove"})

Upvotes: 0

Ajeet Varma
Ajeet Varma

Reputation: 726

In your entity mapping you should use cascade property like:

cascade = {"persist","remove"}

example :

Page Class:

      <?php

      /** @ORM\Entity **/
        class Page
        {

          /**
            * @ORM\OneToOne(targetEntity="Paragraph", mappedBy="page",cascade={"persist", "remove"})
            **/
          private $paragraph;

           }

Paragraph Class:

         <?php

           /** @ORM\Entity **/
           class Paragraph
              {
               /**
                 * @ORM\OneToOne(targetEntity="Paragraph", inversedBy="paragraph",cascade={"persist", "remove"})
                 * @ORM\JoinColumn(name="page_id", referencedColumnName="id")
                 **/
                private $page
                }

Upvotes: 2

Related Questions