Обновить значения кэша доктрины в Symfony

У меня есть приложение Symfony Standard Distribution и используйте построитель запросов Doctrine и кэш результатов для ускорения запросов к базе данных. Я также назначаю уникальные идентификаторы для всех моих кешей, таких как

….

->getQuery() ->useResultCache(true, 2592000, 'single_product_query_id_'.$id) ->getOneOrNullResult(); 

….

При изменении поля продукта я могу удалить этот конкретный кеш, используя

….

 $em = $this->getDoctrine()->getManager(); $cacheDriver = $em->getConfiguration()->getResultCacheImpl(); $cache = $cacheDriver->fetch('single_product_query_id_'.$id); if($cache){ $cacheDriver->delete('single_product_query_id_'.$id); } 

….

Удаление кеша, очевидно, делает изменения видимыми мгновенно, но я обнаружил, что этот метод является ненужным, потому что в моем контроллере у меня уже есть обновленные данные, которые необходимо сохранить в моем db, используя доктрину, поэтому я решил обновить свой кеш вместо удаления Это. Вот здесь моя проблема заключается в том, что в документации не ясно, как это сделать, кроме кода, чтобы сохранить кеш, который

….

 $cacheDriver->save('single_product_query_id_'.$id, $new_cache, $new_lifetime); 

….

Таким образом, я углубляюсь, передавая свой кеш как переменную $ cache в шаблон ветки и просматривая с помощью var dump. Это выглядело так

….

 array (size=2) 'SELECT d0_.id AS id_0, d0_.title AS title_1, d0_.imagepath AS imagepath_2, d0_.description AS description_3,....................... array (size=1) 0 => array (size=57) 'id_0' => string '1' (length=1) 'title_1' => string ''Tasty Thursday'!' (length=17) 'imagepath_2' => string 'main.jpeg' (length=9) 'description_3' => string 'this and every Thursday, buy a 2kg forest cake and get a 1kg fruity forest cake FREE!!!' (length=87) 

………………………

Я не знаю, как доктрина генерирует этот многомерный массив, я хотел бы получить эту функцию, чтобы я мог правильно заполнить свой кеш для обновления.

В настоящее время я успешно обновляю свой кеш с помощью var dumping моего кеша, чтобы узнать, какую строку мне нужно обновить, а затем повторить через массив. Но каждый раз, когда я получаю новую идею и добавляю новую строку в сущность, я должен повторять этот процесс, особенно если этот объект был присоединен к таблице продуктов.

Поэтому мой вопрос заключается в том, как я могу вручную построить массив кэша доктрин из результата запроса или лучшего объекта?