删除删除操作级联symfony

时间:2020-03-19 13:59:20

标签: symfony4

早上好,

我正在寻找一种从表中级联删除数据的解决方案。

我有一个Orders表:

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

我和几个表有关系:order_history,order_details。

我希望删除订单时删除其他表(order_history和order_details)中的订单信息。我尝试通过添加参数“级联”等...。但是它不起作用,我遇到此错误:

“ hydra:description”:“执行'从order_history中删除ID =吗?带有参数[7]:\ n \ nSQLSTATE [23000]:违反完整性约束:1451无法删除或更新父行:外键约束失败(db_api_devorder,CONSTRAINT {{1} }外键(order_ibfk_3)参考last_history_idorder_history))“,

感谢您的帮助

0 个答案:

没有答案