小编Joe*_*Joe的帖子

如何使用DBIx :: Class和Catalyst在运行时添加关系?

在我正在构建的应用程序中,用户可以指定表之间的关系.

由于我只是在运行时确定这一点,因此我无法在架构模块中指定has_many或belongs_to关系以进行启动.

所以有两张桌子; 系统和地方,我想添加关系,以加入他们之间的记录.

我有以下解决方案的一部分:

$rs = $c->model('DB::system')->result_source;
$rs->add_relationship('locations','DB::place',{'foreign.fk0' => 'self.id'});
Run Code Online (Sandbox Code Playgroud)

因此该列fk0将是映射到位置主键的外键id.

我知道必须重新注册以允许将来访问这种关系,但我无法弄明白.

perl catalyst foreign-key-relationship dbix-class

6
推荐指数
1
解决办法
839
查看次数