使用联接删除主义QueryBuilder

使用联接删除主义QueryBuilder,第1张

使用联接删除主义QueryBuilder

最好使用IN条件而不是迭代来运行查询。

$ids = $this->createQueryBuilder('product')->join('..your joins..')->where('..your wheres..')->select('product.id')->getQuery()->getResult();$this->createQueryBuilder('product')    ->where('product.id in (:ids)')    ->setParameter('ids', $ids)    ->delete()    ->getQuery()    ->execute();
  • 好处:运行速度更快,无需迭代
  • 缺点:您无法加入preRemove

对于激烈的“放置在哪里”的辩论,如果愿意,可以将其放在控制器中。这完全取决于您。但是,如果您将代码放入专用的学说存储库类中,那么将来对您可能会更有用。它应该很容易做,并且易于更改/维护。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5063585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存