我将 Datamapper ORM 1.8.2.1 与 CodeIgniter 2.1.0 一起使用,并且无法从父级中访问新添加的相关对象。
我有一个这样的父类:
class Virement extends DataMapper
{
var $has_many = array("lignevirement");
// ...
}
和一个像这样的子类:
class LigneVirement extends DataMapper
{
var $has_one = array("virement");
// ...
}
在用户代码中,我实例化了这个父对象并添加了一些子对象:
$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);
// ...
当我在添加子对象后立即计数时,我得到 0 :
echo $vrt->lignevirement->count();
...而查看数据库表显示已添加父记录,已添加所有子记录,并且它们与父记录正确相关。
顺便说一句,当我尝试这种解决方法时,我得到了正确数量的子行:
$vrt = new Virement($vrt->id);
那么我上面的代码可能有什么问题?