CodeIgniter2.1.0でDatamapperORM1.8.2.1を使用していますが、親内から新しく追加された関連オブジェクトにアクセスできません。
私はこのような親クラスを持っています:
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);
では、上記の私のコードの何が問題になっているのでしょうか?