perl – DBIx :: Class按ID从另一个表中获取行
发布时间:2020-12-16 06:05:58 所属栏目:大数据 来源:网络整理
导读:在我的项目中,我有3个表:艺术家,专辑和曲目 结果艺术家: ...__PACKAGE__-has_many( 'albums' = 'MYLIB::DB::Schema::Result::MyDir::Album',{ 'foreign.artist_id' = 'self.id',},);... 结果专辑: ...__PACKAGE__-belongs_to( 'artist' = 'MYLIB::DB::Sch
在我的项目中,我有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获取Track. 查询示例: 解决方法
如果要生成您提供给我们的SQL,那么您拥有艺术家对象的事实就无关紧要了.只需获取一个跟踪结果集并在其上运行find().
my $track_rs = $schema->resultset('Track'); my $track = $track_rs->find($track_id); 如果由于某种原因,您没有架构对象,那么您可以从您的艺术家对象中获取该对象. my $schema = $artist->result_source->schema; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |