/** * 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; }