Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 2.1.7
-
Fix Version/s: None
-
Component/s: ORM
-
Security Level: All
-
Labels:None
-
Environment:ubuntu 12.04
PHP 5.3.10
PostgreSQL 8.4
Symfony 2.0.15
Description
Within an entity i have an method to add days to a subscription. For that an datetime object is modified.
But the database is not going to be updated if an already existing datetime-object is modified an set. It's only working when an freshly created datetime object is used.
NOT WORKING EXAMPLE:
public function addDaysToSubscription($days) {
if ($this->hasValidSubscription()) {
$startFromDate = $this->getSubscriptionValidUntil();
}
else {
$startFromDate = new \DateTime('now');
}
$this->setSubscriptionValidUntil($startFromDate->modify('+' . $days .' days'));
}
WORKAROUND:
public function addDaysToSubscription($days) {
if ($this->hasValidSubscription()) {
$validDate = $this->getSubscriptionValidUntil()->format('Y-m-d H:i:s');
$startFromDate = new \DateTime($validDate);
}
else {
$startFromDate = new \DateTime('now');
}
$this->setSubscriptionValidUntil($startFromDate->modify('+' . $days .' days'));
}
Activity
Benjamin Eberlei
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DDC-2302, expand=changesets[-21:-1].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)
From the documentation (Mapping Objects):
You have to replace them with a new instance.