Skip to content

Loading…

DDC-859: Datetime object changeset computing #5380

Closed
doctrinebot opened this Issue · 2 comments

1 participant

@doctrinebot

Jira issue originally created by user gediminasm:

The problem is with Datetime value on entity, if I dirrecly modify it, unitOfWork will not add it into change set
// assume loaded entity through dql or repository:

$entity->getStartDate()->modify("+ 1day");
$em->persist($entity);
$em->flush(); // no changes

as far as I understand objects are compared through ($oldObject === $newObject) probably php takes splobjecthash to do the comparison
copying an object works as expected

@doctrinebot

Comment created by @beberlei:

This is expected behavior, DateTime objects are thought of as immutable value objects (php allowing them to be mutable is sort of a design mistake that even Derick sees now).

Only changing the instance will change the value, otherwise the difference computation would be too difficult and would involve cloning the datetime (overhead).

@doctrinebot

Issue was closed with resolution "Fixed"

@doctrinebot doctrinebot added this to the 2.0-RC1 milestone
@doctrinebot doctrinebot closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.