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

Я создаю прослушиватель сущностей в приложении, основанном на 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); 

}

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

The given model has already started the "default_workflow" process.

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
24
1

Ответы 1

Правда, я не разрабатывал приложение на symfony. Но после прочтения документации по symfony, для вашего случая исключения. Данная модель уже запустила процесс "default_workflow", заинтересованный в "Компонент процесса", сфокусированный на Функция бега (mustRun ()), за исключением того, что он выдаст ProcessFailedException, если процесс не сможет ' t быть успешно выполненным. Итак, Глобально, сосредоточьтесь не только на вашей «функции preUpdate», но и на вашем большом коде symfony, потому что это исключение «открывается из» процесса вашего приложения

Другие вопросы по теме