我正在将一个应用程序从Class::DBI移植到DBIx::Class,需要帮助。我有一个表T
,它具有主键tid,还有一个表ChildT
,它将T
的一行关联到多个T
本身的(子)行。如何设置T
和ChildT
之间的关系,以便找到T
示例的所有子项?下面是这两个表的简化版本:
T: (id, name);
ChildT: (rowid, tid, childid)
tid
和childid
都引用T
的id
列。
谢谢你!
我正在将一个应用程序从Class::DBI移植到DBIx::Class,需要帮助。我有一个表T
,它具有主键tid,还有一个表ChildT
,它将T
的一行关联到多个T
本身的(子)行。如何设置T
和ChildT
之间的关系,以便找到T
示例的所有子项?下面是这两个表的简化版本:
T: (id, name);
ChildT: (rowid, tid, childid)
tid
和childid
都引用T
的id
列。
谢谢你!
1条答案
按热度按时间mum43rcc1#
我在回答我自己的问题。
DBIx::Class::Relationship文档对此进行了足够清楚的解释,在ChildT类中,使用外键
childid
定义belongs_to
与T
的关系:在T类中,定义与ChildT类的has_many和many_to_many关系:
使用此
$t->children
可提供T
的任何示例的所有子记录。