2012-09-12 46 views
0

我有一个SQL查询是从sqlplus中提取我的数据更正。当我尝试转换查询,以便可以在催化剂控制器中实现时,我收到一条错误消息,指出表格Feature和Featurealias之间没有关系。由于我是催化剂和DBIx :: Class的新手,我不是能够弄清楚什么可能是可能的错误。任何机构可以帮助我解决这个问题。 下面是我试图在催化剂控制器中实现的SQL查询和代码。转换SQL查询

[email protected]=$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"); 

感谢。

回答

0

您已在您的Featurealias类中创建了名为'featureid'的关系,但要求DBIC加入一个名为'feature'的关系。

+0

感谢您的回复。当我给featureid而不是feature时,它仍然会标记错误。如果你能更详细地阐述你所评论的内容,那将是非常有帮助的,因为我是这个领域的新手。再次感谢。 – user1462804

+0

请包括整个类而不仅仅是关系定义。 –