Commit | Line | Data |
7411204b |
1 | package DBICTest::Schema::HelperRels; |
0567538f |
2 | |
3 | use base 'DBIx::Class::Core'; |
4 | |
07037f89 |
5 | DBICTest::Schema::Artist->has_many(cds => 'DBICTest::Schema::CD', undef, |
6 | { order_by => 'year' }); |
7 | DBICTest::Schema::Artist->has_many(twokeys => 'DBICTest::Schema::TwoKeys'); |
8 | DBICTest::Schema::Artist->has_many(onekeys => 'DBICTest::Schema::OneKey'); |
0567538f |
9 | |
07037f89 |
10 | DBICTest::Schema::CD->belongs_to('artist', 'DBICTest::Schema::Artist'); |
0567538f |
11 | |
07037f89 |
12 | DBICTest::Schema::CD->has_many(tracks => 'DBICTest::Schema::Track'); |
13 | DBICTest::Schema::CD->has_many(tags => 'DBICTest::Schema::Tag'); |
7411204b |
14 | DBICTest::Schema::CD->has_many(cd_to_producer => 'DBICTest::Schema::CD_to_Producer' => 'cd'); |
0567538f |
15 | |
503536d5 |
16 | DBICTest::Schema::CD->might_have(liner_notes => 'DBICTest::Schema::LinerNotes', |
17 | undef, { proxy => [ qw/notes/ ] }); |
0567538f |
18 | |
07037f89 |
19 | DBICTest::Schema::SelfRefAlias->belongs_to( |
20 | self_ref => 'DBICTest::Schema::SelfRef'); |
07037f89 |
21 | DBICTest::Schema::SelfRefAlias->belongs_to( |
22 | alias => 'DBICTest::Schema::SelfRef'); |
0567538f |
23 | |
07037f89 |
24 | DBICTest::Schema::SelfRef->has_many( |
25 | aliases => 'DBICTest::Schema::SelfRefAlias' => 'self_ref'); |
0567538f |
26 | |
07037f89 |
27 | DBICTest::Schema::Tag->belongs_to('cd', 'DBICTest::Schema::CD'); |
28 | |
b8777a0d |
29 | DBICTest::Schema::Track->belongs_to('cd', 'DBICTest::Schema::CD'); |
1e3bc087 |
30 | DBICTest::Schema::Track->belongs_to('disc', 'DBICTest::Schema::CD', 'cd'); |
07037f89 |
31 | |
32 | DBICTest::Schema::TwoKeys->belongs_to('artist', 'DBICTest::Schema::Artist'); |
07037f89 |
33 | DBICTest::Schema::TwoKeys->belongs_to('cd', 'DBICTest::Schema::CD'); |
0567538f |
34 | |
5efe4c79 |
35 | DBICTest::Schema::CD_to_Producer->belongs_to( |
36 | 'cd', 'DBICTest::Schema::CD', |
37 | { 'foreign.cdid' => 'self.cd' } |
38 | ); |
39 | DBICTest::Schema::CD_to_Producer->belongs_to( |
40 | 'producer', 'DBICTest::Schema::Producer', |
41 | { 'foreign.producerid' => 'self.producer' } |
42 | ); |
43 | DBICTest::Schema::Artist->has_many( |
44 | 'artist_undirected_maps', 'DBICTest::Schema::ArtistUndirectedMap', |
45 | [{'foreign.id1' => 'self.artistid'}, {'foreign.id2' => 'self.artistid'}] |
46 | ); |
47 | DBICTest::Schema::ArtistUndirectedMap->belongs_to( |
48 | 'artist1', 'DBICTest::Schema::Artist', 'id1'); |
49 | DBICTest::Schema::ArtistUndirectedMap->belongs_to( |
50 | 'artist2', 'DBICTest::Schema::Artist', 'id2'); |
51 | DBICTest::Schema::ArtistUndirectedMap->has_many( |
52 | 'mapped_artists', 'DBICTest::Schema::Artist', |
53 | [{'foreign.artistid' => 'self.id1'}, {'foreign.artistid' => 'self.id2'}]); |
7411204b |
54 | |
55 | # now the Helpers |
56 | DBICTest::Schema::CD->many_to_many( 'producers', 'cd_to_producer', 'producer'); |
57 | |
0567538f |
58 | 1; |