Backend\Modules\ContentBlocks\Repository\ContentBlockRepository::add PHP Метод

add() публичный Метод

public add ( ContentBlock $contentBlock )
$contentBlock Backend\Modules\ContentBlocks\Entity\ContentBlock We don't flush here, see http://disq.us/p/okjc6b
    public function add(ContentBlock $contentBlock)
    {
        // make sure the other revisions are archived
        if ($contentBlock->getStatus()->isActive() && $contentBlock->getId() !== null) {
            array_map(function (ContentBlock $contentBlock) {
                $contentBlock->archive();
            }, (array) $this->findBy(['id' => $contentBlock->getId(), 'locale' => $contentBlock->getLocale()]));
        }
        $this->getEntityManager()->persist($contentBlock);
    }

Usage Example

 /**
  * @param CopyContentBlocksToOtherLocale $copyContentBlocksToOtherLocale
  *
  * @return ContentBlock
  */
 public function handle(CopyContentBlocksToOtherLocale $copyContentBlocksToOtherLocale)
 {
     $fromLocaleContentBlocks = (array) $this->contentBlockRepository->findBy(['locale' => $copyContentBlocksToOtherLocale->fromLocale, 'status' => ContentBlockStatus::active()]);
     $id = $this->contentBlockRepository->getNextIdForLanguage($copyContentBlocksToOtherLocale->toLocale);
     array_map(function (ContentBlock $contentBlock) use($copyContentBlocksToOtherLocale, &$id) {
         $copyContentBlocksToOtherLocale->extraIdMap[$contentBlock->getExtraId()] = $this->getNewExtraId();
         $otherLocaleContentBlock = ContentBlock::create($id++, $contentBlock->getUserId(), $copyContentBlocksToOtherLocale->extraIdMap[$contentBlock->getExtraId()], $copyContentBlocksToOtherLocale->toLocale, $contentBlock->getTitle(), $contentBlock->getText(), $contentBlock->isHidden(), $contentBlock->getTemplate());
         $this->contentBlockRepository->add($otherLocaleContentBlock);
     }, $fromLocaleContentBlocks);
 }
All Usage Examples Of Backend\Modules\ContentBlocks\Repository\ContentBlockRepository::add