Quantcast
Channel: Active questions tagged symfony4 - Stack Overflow
Viewing all articles
Browse latest Browse all 3924

delete delete action cascade symfony

$
0
0

Good morning all,

I am looking for a solution to cascade delete data from my table.

I have an Orders table:

    class Order
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     * @Groups({"orderGET", "orderDELETE", "orderPostCustomer"})
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $firstname;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $lastname;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $email;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $phone;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $address;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $address1;

    /**
     * @ORM\Column(type="integer")
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $zipcode;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGET", "orderPostCustomer", "orderTracking"})
     */
    private $city;

    /**
     * @ORM\Column(type="string", length=255)
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $country;

    /**
     * @ORM\Column(type="string", length=2000, nullable=true)
     * @Groups("orderGetItem")
     */
    private $urlTracking;

    /**
     * @ORM\Column(type="string", length=2000, nullable=true)
     * @Groups("orderGetItem")
     */
    private $urlTracking;

    /**
     * @ORM\Column(type="integer")
     * @Groups({"orderGetItem", "orderPostCustomer"})
     */
    private $idOrderMerchant;

    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     * @Groups({"orderGET"})
     */
    private $idTrackingMerchant;

    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     * @Groups("orderGET")
     */
    private $idTracking;

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\OrderHistory", mappedBy="orderId", cascade={"persist", "remove"})
     * @Groups({"orderGetItem", "orderTracking"})
     */
    private $orderHistories;

    /**
     * @ORM\OneToOne(targetEntity="App\Entity\OrderHistory", cascade={"persist", "remove"})
     * @ORM\JoinColumn(name="last_history_id", referencedColumnName="id")
     * @Groups({"orderGetCollection", "orderTracking"})
     */
    private $lastHistory;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Customer", inversedBy="orders")
     * @ORM\JoinColumn(nullable=true)
     * @Groups({"orderGET", "orderTracking"})
     */
    private $customer;

    /**
     * @ORM\Column(type="integer")
     * @Groups({"orderGetItem", "orderPostCustomer"})
     */
    private $weightMerchant;

    /**
     * @ORM\Column(type="integer", nullable=true)
     * @Groups("orderGetItem")
     */
    private $weightReal;

    /**
     * @ORM\Column(type="integer")
     * @Groups({"orderGetItem", "orderPostCustomer", "orderTracking"})
     */
    private $packages;

    /**
     * @ORM\Column(type="datetime")
     * @Groups("orderGET")
     */
    private $dateAdd;

    /**
     * @ORM\Column(type="datetime")
     * @Groups("orderGET")
     */
    private $dateUpd;

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\OrderDetail", mappedBy="orderId", cascade={"persist", "remove"})
     * @Groups({"orderGetItem", "orderPostCustomer"})
     */
    private $orderDetails;
}

and I have relation with several table: order_history, order_details.

I am looking to delete the order information in the other tables (order_history and order_details) when I delete an order. I tried by adding the parameters "Cascade" etc .... but its does not work I have this error:

"hydra:description": "An exception occurred while executing 'DELETE FROM order_history WHERE id = ?' with params [7]:\n\nSQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (db_api_dev.order, CONSTRAINT order_ibfk_3 FOREIGN KEY (last_history_id) REFERENCES order_history (id))",

Thank you for your help


Viewing all articles
Browse latest Browse all 3924

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>