php – 如何批量删除Doctrine 2中ManyToMany关系中的实体?
发布时间:2020-12-13 13:03:48 所属栏目:PHP教程 来源:网络整理
导读:说我有以下课程: class Store{ /** * @ManyToMany(targetEntity="PaymentMethod") */ protected $paymentMethods;}class PaymentMethod{} 当我们删除(或者只是禁用,而不是实际从数据库中删除)PaymentMethod时,我们希望从所有Store :: $paymentMethods集合中
说我有以下课程:
class Store { /** * @ManyToMany(targetEntity="PaymentMethod") */ protected $paymentMethods; } class PaymentMethod { } 当我们删除(或者只是禁用,而不是实际从数据库中删除)PaymentMethod时,我们希望从所有Store :: $paymentMethods集合中删除此paymentMethod. 到目前为止,我们一直在联结表上使用原始SQL查询: DELETE FROM StorePaymentMethod WHERE paymentMethodId = ? 有没有办法在Doctrine中做到这一点,最好是在DQL中?
沿着这些方向的东西?
$qb = $em->createQueryBuilder(); $qb->delete('StorePaymentMethod','spm') ->where('spm.paymentMethodId = : paymentMethodId') ->setParameter('paymentMethodId',$id); return $qb->getQuery()->getResult(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |