GridPresetService.php (1250B)
1 <?php 2 3 namespace PartKeepr\FrontendBundle\Services; 4 5 use Doctrine\ORM\EntityManager; 6 use PartKeepr\FrontendBundle\Entity\GridPreset; 7 8 class GridPresetService 9 { 10 /** 11 * @var EntityManager 12 */ 13 private $entityManager; 14 15 public function __construct(EntityManager $entityManager) 16 { 17 $this->entityManager = $entityManager; 18 } 19 20 public function markGridPresetAsDefault(GridPreset $gridPreset) 21 { 22 $queryBuilder = $this->entityManager->createQueryBuilder(); 23 24 $queryBuilder->update("PartKeeprFrontendBundle:GridPreset", "gp")->set("gp.gridDefault", ":default") 25 ->where("gp.grid = :grid"); 26 27 $queryBuilder->setParameter("grid", $gridPreset->getGrid()); 28 $queryBuilder->setParameter("default", false); 29 30 $queryBuilder->getQuery()->execute(); 31 32 $gridPreset->setGridDefault(true); 33 } 34 35 public function getDefaultPresets() 36 { 37 $queryBuilder = $this->entityManager->createQueryBuilder(); 38 39 $queryBuilder->select("gp.grid", "gp.configuration")->from("PartKeeprFrontendBundle:GridPreset", "gp")->where("gp.gridDefault = :default"); 40 $queryBuilder->setParameter("default", true); 41 42 return $queryBuilder->getQuery()->getArrayResult(); 43 } 44 }