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), В этом случае вы можете делать все, что вам нужно.

Другие вопросы по тегам