Сохранить дату модификации

В моей сущности есть поле, где я храню дату.

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

Сущность, где у меня есть поле:

class Offers{
...
/**
* @var \DateTime
*/
private $last_update;
...
}

Сущность, выполняющая действие, обновляющее поле:

class OffersUser
{
...
/**
* @var \MyAppBundle\AppBundle\Entity\Offers
*/
private $offers;

public function setOffers(\MyAppBundle\AppBundle\Entity\Offers $offers = null){
$this->offers = $offers;
return $this;
}

...
}

Можно ли сделать так, чтобы при внесении изменений в offeruser мое поле last_update сущности обновлялось?

Я мог бы использовать метод updated при генерации Symfony?

2

Решение

Вы можете использовать обратные вызовы жизненного цикла доктрины для достижения этой цели.

В файле конфигурации вашей сущности определите lifecycleCallbacks раздел или использовать аннотацию @PreUpdate если вы не используете yaml.

Например Ресурсы / config / doctrine / Entity.orm.yml

lifecycleCallbacks:
prePersist: [ prePersist ]
preUpdate:  [ preUpdate ]

Entity / Entity.php

public function preUpdate()
{
...
$this->setChanged(new \DateTime());
...
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector