Symfony 3.4/doctrine2: получить исходные данные объекта в отдельном объекте для сравнения
Я работаю над проектом Symfony 3.4 и, прежде чем записывать изменения для сущности, я должен сравнить ее старые данные (исходные данные, которые сейчас находятся в базе данных) с новой модификацией, которую я делаю перед сбросом.
Поэтому я хочу иметь отдельный объект, который содержит мою сущность с ее исходными данными.
VenteController.php:
public fucntion editAction(Request $request, Vente $vente){
//...
$originalVente = ????;
if ( $vente->getMontant() > $originalVente->getMontant() ){
//trait
}
$em->persist($vente);
$em->flush();
}
1 ответ
Если вам нужно сравнить значения в одной сущности - вы можете сделать это, внедрив доктрину preUpdate
обратный вызов события и использование функций hasChangedField($fieldName)
, getOldValue($fieldName)
, getNewValue($fieldName)
, В этом случае вы можете делать все, что вам нужно.