/** * copy * * @param Board $board board model * @param UserInterface $user user * @param ConfigEntity $config board config entity * @return void */ public function copy(Board $board, UserInterface $user, ConfigEntity $config) { $board->getConnection()->beginTransaction(); $args = array_merge($board->getDynamicAttributes(), $board->getAttributes()); $args['id'] = null; $args['instanceId'] = $config->get('boardId'); $args['slug'] = $board->boardSlug->slug; $args['categoryItemId'] = ''; $boardCategory = $board->boardCategory; if ($boardCategory != null) { $args['categoryItemId'] = $boardCategory->itemId; } $this->add($args, $user, $config); $board->getConnection()->commit(); }