gpt4 book ai didi

perl - 在 DBIx::Class 中注入(inject)关系

转载 作者:行者123 更新时间:2023-12-02 02:33:43 25 4
gpt4 key购买 nike

我有一些模拟各种数据库表的 DBIx::Class::Core 对象。

对于其中一些模型(那些有“队列”列的模型),我有另一个类注入(inject)子(基本上,沿着它的队列状态“移动”模型对象)。

我也想让那个类注入(inject) has_many 关系 ala

class($name)->has_many('queue_history','MySchema::Result::QueueHistory',
{ 'foreign.record_id'=>'self.id' },
{ where => { type => $name }} );

但我似乎无法让关系正确注册(不断收到“无此类关系”错误 - 但是,当调用源上的关系方法时会返回关系)。

有什么问题的线索吗?

最佳答案

经过一番挖掘,以下工作:

$class = $schema->class($name)->has_many('queue_history','MySchema::Result::QueueHistory',
{ 'foreign.record_id'=>'self.id' },
{ where => { type => $name }} );

$schema->unregister_source($name);
$schema->register_class($name,$class);

关键是取消注册/注册方法,以便生成所有适当的其他方法,这些方法通过新的 has_many 关系添加。

关于perl - 在 DBIx::Class 中注入(inject)关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com