I am using Datamapper ORM 1.8.2.1 with CodeIgniter 2.1.0 and I have trouble accessing newly added related objects from within a parent.
I have a parent class like this:
class Virement extends DataMapper
{
var $has_many = array("lignevirement");
// ...
}
and a child class like this:
class LigneVirement extends DataMapper
{
var $has_one = array("virement");
// ...
}
In the user code, I instantiate this parent and add a few child objects:
$vrt = new Virement; // and do some inits on properties.
$vrt->save();
$lili = new LigneVirement; // do some inits also on properties.
$lili->save();
$vrt->save($lili);
$lili = new LigneVirement; // do some inits also on properties.
$lili->save();
$vrt->save($lili);
// ...
When I then count immediately after the added child objects, I get 0 :
echo $vrt->lignevirement->count();
... whereas taking a look in the database table shows that the parent record has been added, all the child records have been added, and they are correctly related with the parent record.
By the way, when I then try this workaround, I get the correct number of child rows:
$vrt = new Virement($vrt->id);
So what might be wrong with my code above ?