Данная модель уже запустила процесс default_workflow - PullRequest
0 голосов
/ 25 июня 2018

Я создаю прослушиватель сущностей в приложении на основе Symfony 2.7.Он будет применять тег к видео всякий раз, когда меняется группа, в которой он принадлежит.

Мой слушатель выглядит так:

public function preUpdate($video, $args)
{
    $changeSet = $args->getEntityChangeSet();
    if(!array_key_exists('ownerGroup', $changeSet )){
        return;
    }

    $oldGroupObj = $changeSet['ownerGroup'][0];
    $oldGroupName = $oldGroupObj->getName();

    //die($oldGroupName); //Gives us a valid group name string.

    $tagRepository = $args->getEntityManager()->getRepository('AppBundle:Tag');
    $tag = $tagRepository->findOneBy( ['title' => 'migrated' . $oldGroupName] );
    if( $tag === null ){
        $tag = new Tag;
        $tag->setTitle('migrated' . $oldGroupName);
    }

    $video->addTag($tag); 

}

Проблема в том, что последняя строка.Когда я запускаю его, оно вызывает это исключение:

Данная модель уже запустила процесс "default_workflow".

Что означает это исключение и как я могусохранить новый тег в моем видео при смене группы-владельца?

1 Ответ

0 голосов
/ 25 июня 2018

Trully , я не разработал приложение с Symfony.Но после прочтения некоторой документации Symfony, для вашего случая исключение Данная модель уже запустила процесс «default_workflow», заинтересованный в « Компонент процесса », сфокусированный на Выполняемая функция (mustRun ()), за исключением того, что он выдаст ProcessFailedException , если процесс не может быть успешно выполнен.Итак, Globally , не просто сфокусируйтесь на своей «функции preUpdate», а на «все из-за вашего большого кода-symfony», потому что это исключение «открыто из« Process-Of-Your-Application »

...