В моем проекте у меня есть 3 таблицы: Исполнители, Альбомы и Треки.
Исполнитель результатов:
...
__PACKAGE__->has_many(
'albums' => 'MYLIB::DB::Schema::Result::MyDir::Album',
{ 'foreign.artist_id' => 'self.id', },
);
...
Альбом результатов:
...
__PACKAGE__->belongs_to(
'artist' => 'MYLIB::DB::Schema::Result::Artist',
{ 'foreign.id' => 'self.artist_id', },
);
__PACKAGE__->has_many(
'tracks' => 'MYLIB::DB::Schema::Result::MyDir::Track',
{ 'foreign.album_id' => 'self.id', },
);
...
Отслеживание результатов:
__PACKAGE__->belongs_to(
'album' => 'MYLIB::DB::Schema::Result::MyDir::Album',
{ 'foreign.id' => 'self.album_id', },
);
Теперь у меня есть объект $artist
и я хочу получить Трек по ID.
Пример запроса: SELECT * FROM Tracks WHERE track_id = $x