logo       

Help!: Trouble with get_object_iterator: msg#00055

lang.perl.modules.dbi.rose-db-object

Subject: Help!: Trouble with get_object_iterator

Hi Folks

I'm effectively trying to replicate the code in the synopsis of
Rose::DB::Object::Manager, using my own data.

The error msg is:
Can't locate object method "meta" via package "State" at
d:/Perl/site/lib/Rose/DB/Object/Manager.pm line 786.

which is being generated by the call to get_club_iterator() below, but I can't
see what's wrong with it.

Note: A call to build_club_list() in the demo program works perfectly.

(Aussi stands for Australian Union of Senior Swimmers International).

Club.pm:
-----><8-----
package Aussi::Rose::Club;

use strict;

use base qw(Aussi::Rose::Base::Object);

use Aussi::Rose::State;

# -----------------------------------------------

sub build_club_list
{
my($self) = @_;

return
{
map{($_ -> id(), $_ -> code() )} @{Aussi::Rose::Club::Manager ->
get_club(select => 'id, code')}
};

} # End of build_club_list.

# -----------------------------------------------

sub build_club_state_list
{
my($self) = @_;
my($iterator) = Aussi::Rose::Club::Manager -> get_club_iterator
(
select => 't1.id, t1.code, t1.name, t2.id,
t2.code',
with_objects => ['state'],
);

my($club);
my(@data);

while ($club = $iterator -> next() )
{
push @data, [$club -> state() -> code(), $club -> id(), $club
-> code(), $club
-> name()];
}

return \@data;

} # End of build_club_state_list.

# -----------------------------------------------

__PACKAGE__->meta->setup
(
table => 'club',

columns =>
[
id => { type => 'integer', not_null => 1 },
state_id => { type => 'integer', default => '', not_null => 1 },
code => { type => 'character', default => '', length => 2, not_null
=> 1 },
name => { type => 'varchar', default => '', length => 255, not_null
=> 1 },
],

primary_key_columns => [ 'id' ],

foreign_keys =>
[
state =>
{
class => 'State',
key_columns => {state_id => 'id'},
},
],
);

__PACKAGE__ -> meta -> make_manager_class('club');

# -----------------------------------------------

1;
-----><8------

TIA.
--
Ron Savage
ron-p/nmRYE4fVlx3z9c7Zyw2w@xxxxxxxxxxxxxxxx
http://savage.net.au/index.html


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise