Schrift
[thread]12836[/thread]

DBIx::Class Anfängerfrage: Relationen abbilden



<< >> 3 Einträge, 1 Seite
pktm
 2008-11-27 23:48
#116671 #116671
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe mit CBIx::Class einmal angesehen. Jetz versuche ich gerade, zwei miteinander verknüfte Tabellen abzubilden, erhalte dabei aber immer Fehler.
Ich bin der Ansicht, dass ich das so gemacht habe, wie es in der Doku steht, lasse mich aber gerne eines Besseren belehren :)

Ich habe My::Schema::Topic:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package My::Schema::Topic;

use strict;
use warnings;
use base qw/DBIx::Class/;

My::Schema::Topic->load_components(qw/ PK::Auto Core /);

My::Schema::Topic->table('topics');
My::Schema::Topic->add_columns(qw/topic_id topic/);
My::Schema::Topic->set_primary_key('topic_id');
My::Schema::Topic->has_many(boards => 'My::Schema::Board');

1;


und My::Schema::Board:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package My::Schema::Board;

use strict;
use warnings;
use base qw/DBIx::Class/;

My::Schema::Board->load_components(qw/ PK::Auto Core /);

My::Schema::Board->table('boards');
My::Schema::Board->add_columns(qw/board_id topic_id title/);
My::Schema::Board->set_primary_key('board_id');
My::Schema::Board->belongs_to(topic => 'My::Schema::Topic',);

1;


Müsste doch eigentlich funktionieren, aber ich erhalte den Fehler:
Quote
DBIx::Class::Schema::throw_exception(): DBIx::Class::Row::throw_exception(): DBIx::Class::Relationship::HasMany::has_many(): No such column topic on foreign class My::Schema::Board (using our class name 'My::Schema::Topic' as foreign key) at My/Schema/Topic.pm line 12


Was mache ich da falsch?

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
pktm
 2008-11-28 00:22
#116673 #116673
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ah ok, ich muss als drittes Argument noch den Feldnamen des Fremdschlüssels angeben, da der sich nicht mit dem Accessornamen deckt.

Code: (dl )
1
2
My::Schema::Topic->has_many(boards => 'My::Schema::Board', 'board_id');
My::Schema::Board->belongs_to(topic => 'My::Schema::Topic', 'topic_id');
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2008-11-28 09:00
#116677 #116677
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Vielleicht hilft Dir das hier weiter: http://renee-baecker.de/talks/DBIx_Class.pdf
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 3 Einträge, 1 Seite



View all threads created 2008-11-27 23:48.