Perl 转换SQL查询
我有一个SQL查询,它从sqlplus获取数据。当我尝试转换查询以便在catalyst控制器中实现时,我收到一条错误消息,说tables功能和Featurealias之间没有关系。由于我是catalyst和DBIx::Class的新手,我无法找出可能的错误。有人能帮我解决这个问题吗。 下面是我试图在catalyst Controller中实现的SQL查询和代码Perl 转换SQL查询,perl,catalyst,dbix-class,Perl,Catalyst,Dbix Class,我有一个SQL查询,它从sqlplus获取数据。当我尝试转换查询以便在catalyst控制器中实现时,我收到一条错误消息,说tables功能和Featurealias之间没有关系。由于我是catalyst和DBIx::Class的新手,我无法找出可能的错误。有人能帮我解决这个问题吗。 下面是我试图在catalyst Controller中实现的SQL查询和代码 my@sourceid=$c->model('Gene::Featurealias')->search({
my@sourceid=$c->model('Gene::Featurealias')->search({
'feature.typeid'=>4,
},
{
join=>'feature',
distinct=>1,
columns=>[qw/sourceid/]
});
SQL查询:
select distinct FeatureAlias.SourceID From FeatureAlias join Feature on FeatureAlias.FeatureID=Feature.FeatureID where Feature.TypeID=4;
在Feature.pm中定义
__PACKAGE__->has_many( "featurealias",
"...Result::Featurealias");
在Featurealias.pm中定义
__PACKAGE__->belongs_to("featureid",
"...::Result::Feature");
提前感谢。您在Featurealias类中创建了一个名为“featureid”的关系,但要求DBIC加入一个名为“feature”的关系。谢谢您的回复。当我给featureid而不是feature时,它仍然会标记错误。如果你能详细说明你的评论,这将是非常有帮助的,因为我是这个领域的新手。再次感谢。请包括整个类,而不仅仅是关系定义。