Как реализовать счетчик экземпляров в Symfony? - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь реализовать счетчик экземпляров в проекте php / symfony3, но не знаю как.

У меня есть объект Advert, и я хочу показать, сколько экземпляров существует в представлении Twig.

Итак, в классе сущностей я создал статический атрибут private static $nbAdverts = 0; с помощью метода получения / установки и двух статических методов:

/**
 * @ORM\PrePersist
 */
public static function increaseAdverts()
{
    self::$nbAdverts++;
}

и

/**
 * @ORM\PreRemove
 */
public static function decreaseAdverts()
{
    self::$nbAdverts--;
}

Я вызываю эти методы, используя события Doctrine: PrePersist и PreRemove.

Эти объявления создаются в контроллере с помощью репозитория Advert перед сохранением и сбросом.Также вызывается с помощью этого хранилища перед удалением.

Счетчик остается на 0, когда я добавляю или удаляю рекламу.

Я думаю, что я делаю что-то не так: возможно ли это сделать без переписывания метода добавления репозитория?Если это так, есть идеи о том, как?

1 Ответ

0 голосов
/ 15 октября 2018

Поведение, которое вы получаете, абсолютно нормально.При запуске веб-приложения любая переменная, не сохраненная в сеансе, получает значение по умолчанию, если оно существует, при каждом запросе.Таким образом, чтобы добиться того, что вы хотите сделать, вы можете сохранить статическую переменную в сеансе и обновить ее в методах увеличенияAdverts () и lowerAdverts ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...