1

我有几张桌子,例如:

  • 用户
  • user_address -> 带有 fk 给用户

我正在使用 dbicdump 生成我的 dbic 模式。这将在 User.pm 中创建以下关系:

__PACKAGE__->has_many( 
  "user_addresses", 
  "World::DBIC::Result::UserAddress", 
  { "foreign.user_id" => "self.id" }, 
  { cascade_copy => 0, cascade_delete => 0 },
);

是否可以将关系名称更改为“地址”之类的名称?如何?(我的意思是在 # 之前不更改代码,不要修改此或以上任何内容!)

如果没有,有什么办法可以给这种关系起别名?

4

1 回答 1

3

看看DBIx::Class::Schema::Loader::Base中的 rel_name_map 。创建架构时,您应该能够执行以下操作:

my %args = ( 
    use_moose      => 1,
    use_namespaces => 1,
    rel_name_map   => { user_addresses => 'addresses' },
    # more args here...
);

make_schema_at( 'My::Schema', \%args, [ $connect_arg ... ] );

rel_name_map 是重要的,但我为上下文添加了几行。

于 2013-09-03T20:23:21.090 回答