I'm using Symfony1.4 and Doctrine1.2 to create children objects and print them in execution time. The problem is that I always get the children objects from the first query.
I have the following schema:
Parent:
id
name
Child:
id
parent_id
name
My operations:
- Initially I have one Parent (with id=1), and no Child
- I grab a Parent (id=1) and store that object on
$parent
- List it's Child objects
- Result:
none
OK: as expected - Create a new Child and set it's parent to
1
- List
$parent
's Child objects - Result:
none
OOPS: I expected the new Child from 5.!
Code:
$parent = Doctrine_Query::create()->from('Parent p')->where('p.id = ?', 1)->limit(1)->fetchOne(); /* from 2. */
print_r($parent->getChild()->toArray()); /* from 3. */
$child = new Child();
$child->setParentId($parent->getId());
$child->save(); /* from 4. */
print_r($parent->getChild()->toArray()); /* from 6. */
I've already tried re-grabbing the $parent before the last line, but the result is the same.