From 6be9750155fa731d75898b4973a126a090345c2d Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Tue, 29 Dec 2015 21:59:34 +0100 Subject: Removed comment And move the SQL query inside the php doc --- src/Wallabag/CoreBundle/Repository/EntryRepository.php | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index e658a359..ca71970b 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -185,7 +185,9 @@ class EntryRepository extends EntityRepository * Remove a tag from all user entries. * * We need to loop on each entry attached to the given tag to remove it, since Doctrine doesn't know EntryTag entity because it's a ManyToMany relation. - * It could be faster with one query but I don't know how to retrieve the table name `entry_tag` which can have a prefix. + * It could be faster with one query but I don't know how to retrieve the table name `entry_tag` which can have a prefix: + * + * DELETE et FROM entry_tag et WHERE et.entry_id IN ( SELECT e.id FROM entry e WHERE e.user_id = :userId ) AND et.tag_id = :tagId * * @param int $userId * @param Tag $tag @@ -203,14 +205,6 @@ class EntryRepository extends EntityRepository } $this->getEntityManager()->flush(); - - // An other solution can be to use raw query but I can't find a way to retrieve the `entry_tag` table name since it can be prefixed.... - // $sql = 'DELETE et FROM entry_tag et WHERE et.entry_id IN ( SELECT e.id FROM entry e WHERE e.user_id = :userId ) AND et.tag_id = :tagId'; - // $stmt = $this->getEntityManager()->getConnection()->prepare($sql); - // $stmt->execute([ - // 'userId' => $userId, - // 'tagId' => $tag->getId(), - // ]); } /** -- cgit v1.2.3