示例#1
0
 /**
  * Create maker
  *
  * @param int $rank
  *
  * @return Maker
  */
 protected function createMaker($rank = null)
 {
     /**
      * @var Generator $faker
      */
     $faker = $this->getFaker();
     if (!$rank) {
         $rank = $faker->randomNumber(3);
     }
     $Maker = new Maker();
     $Maker->setName($faker->word);
     $Maker->setRank($rank);
     $Maker->setDelFlg(Constant::DISABLED);
     $this->app['orm.em']->persist($Maker);
     $this->app['orm.em']->flush($Maker);
     return $Maker;
 }
示例#2
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;
 }