package Tangram::Lazy::BackRef; use vars qw(@ISA); @ISA = qw( Tangram::Lazy::Ref ); sub FETCH { my $self = shift; my ($storage, $id, $member, $refid, $class, $field) = @$self; my $obj = $storage->{objects}{$id}; my $owner = $storage->remote($class); my ($refobj) = $storage->select($owner, $owner->{$field}->includes($obj)); # my $refobj = $storage->load($refid); untie $obj->{$member}; $obj->{$member} = $refobj; # weak return $refobj; } 1;