Symfony Написать в таблицу sfGuard

Я знаю, что это не идеально, но у меня есть несколько дополнительных полей в таблице пользователей sfGuard, и я хотел бы написать в нее из другого модуля. Есть определенное поле, которое представляет собой простое целое число, но я бы хотел, чтобы оно равнялось -1 каждый раз, когда они выполняют определенную задачу. Вот что я попробовал. Я не получаю сообщение об ошибке, но оно также не записывает номер в таблицу.

  public function executePublish(sfWebRequest $request)
  {
    $this->user = $this->getUser()->getGuardUser();
    $times = ($this->user->getTimes() - 1);
    $this->getUser()->getGuardUser()->setTimes($times);
  }

Это действие "Опубликовать" для другого модуля. Я делаю это неправильно? Благодарю.

1 ответ

Решение

Вы не сделали INSERT в базу данных setTimes($times)ты должен позвонить save() метод после установки всех значений объекта.

Это должно выглядеть так:

 public function executePublish(sfWebRequest $request)
  {
    $this->user = $this->getUser()->getGuardUser();
    $times = ($this->user->getTimes() - 1);
    $this->user->setTimes($times);
    $this->user->save();
  }
Другие вопросы по тегам