Ejemplo n.º 1
0
 /**
  * News を保存する.
  *
  * @param  \Eccube\Entity\News $News
  * @return boolean 成功した場合 true
  */
 public function save(\Eccube\Entity\News $News)
 {
     $em = $this->getEntityManager();
     $em->getConnection()->beginTransaction();
     try {
         if (!$News->getId()) {
             $rank = $this->createQueryBuilder('n')->select('MAX(n.rank)')->getQuery()->getSingleScalarResult();
             if (!$rank) {
                 $rank = 0;
             }
             $News->setRank($rank + 1)->setDelFlg(0);
         }
         $em->persist($News);
         $em->flush();
         $em->getConnection()->commit();
     } catch (\Exception $e) {
         $em->getConnection()->rollback();
         return false;
     }
     return true;
 }