Thread Dbix::Class frage
(1 answers)
Opened by Gast at 2008-10-07 12:05
Hallo allerseits,
ich versuche gerade einen Eintrag in eine DB einzufügen. Dabei soll gleichzeitig in zwei Tabellen eingefügt werden, die mit belongs_to/has_many (foreign key) verbunden sind. Code (perl): (dl
)
my $person = $schema->resultset('Person')->create({'name' => {'name' => "Mary"}}); Ich bekomme die Fehlermeldung: Can't call method "isa" on unblessed reference at /usr/share/perl5/DBIx/Class/Relationship/Accessor.pm line 43. Was funktioniert ist: Code (perl): (dl
)
1 2 my $name = $schema->resultset('Name')->create({name => 'Mary'}) my $person = $schema->resultset('Person')->create({'name' => {'name' => $name}}); Die Frage ist: Geht das nicht, oder mache ich was falsch? Mein Schema sieht so aus: Main/Name.pm Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 package Main::Name; use base qw/DBIx::Class/; __PACKAGE__->load_components(qw/PK::Auto Core/); __PACKAGE__->table('name'); __PACKAGE__->add_columns( id => {data_type => 'integer', is_nullable => 0, is_auto_increment => 1}, name => {data_type => 'varchar',is_nullable => 0,size => 255,}, ); __PACKAGE__->set_primary_key('id'); __PACKAGE__->has_many('persons', 'Main::Person'); __PACKAGE__->add_unique_constraint(['name']); 1; Main/Person.pm Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 package Main::Person; use base qw/DBIx::Class/; __PACKAGE__->load_components(qw/PK::Auto Core/); __PACKAGE__->table('person'); __PACKAGE__->add_columns( id => {data_type => 'integer',is_nullable => 0,is_auto_increment => 1}, name => {data_type => 'integer',is_nullable => 0}, ); __PACKAGE__->set_primary_key('id'); __PACKAGE__->belongs_to(name => 'Main::Name'); Main.pm Code (perl): (dl
)
1 2 3 package Main; use base qw/DBIx::Class::Schema/; __PACKAGE__->load_classes(qw/ Person Name /); |