コード例 #1
0
 /**
  * Save method.
  *
  * @param Maker $Maker
  *
  * @return bool
  */
 public function save(Maker $Maker)
 {
     $em = $this->getEntityManager();
     try {
         if (!$Maker->getId()) {
             $rank = $this->createQueryBuilder('m')->select('MAX(m.rank)')->getQuery()->getSingleScalarResult();
             if (!$rank) {
                 $rank = 0;
             }
             $Maker->setRank($rank + 1);
             $Maker->setDelFlg(Constant::DISABLED);
             $em->createQueryBuilder()->update('Plugin\\Maker\\Entity\\Maker', 'm')->set('m.rank', 'm.rank + 1')->where('m.rank > :rank')->setParameter('rank', $rank)->getQuery()->execute();
         }
         $em->persist($Maker);
         $em->flush($Maker);
     } catch (\Exception $e) {
         return false;
     }
     return true;
 }