PartMeasurementUnitService.php (1241B)
1 <?php 2 3 namespace PartKeepr\PartBundle\Services; 4 5 use Doctrine\ORM\EntityManager; 6 use PartKeepr\PartBundle\Entity\PartMeasurementUnit; 7 8 class PartMeasurementUnitService 9 { 10 private $entityManager; 11 12 public function __construct(EntityManager $entityManager) 13 { 14 $this->entityManager = $entityManager; 15 } 16 17 public function setDefault(PartMeasurementUnit $partMeasurementUnit) 18 { 19 $this->entityManager->beginTransaction(); 20 21 $dql = 'UPDATE PartKeepr\PartBundle\Entity\PartMeasurementUnit pu SET pu.default = :default WHERE pu.id = :id'; 22 23 $this->entityManager->createQuery($dql) 24 ->setParameter('id', $partMeasurementUnit->getId()) 25 ->setParameter( 26 'default', 27 true, 28 \PDO::PARAM_BOOL 29 )->execute(); 30 31 $dql = 'UPDATE PartKeepr\PartBundle\Entity\PartMeasurementUnit pu SET pu.default = :default WHERE pu.id != :id'; 32 33 $this->entityManager->createQuery($dql) 34 ->setParameter('id', $partMeasurementUnit->getId()) 35 ->setParameter( 36 'default', 37 false, 38 \PDO::PARAM_BOOL 39 )->execute(); 40 41 $this->entityManager->commit(); 42 } 43 }