虽然 creating a schema from a database不会创建表之间的多对多关系。
这是一个主要问题吗?
是否可以从表结构中检测到存在多对多关系并自动在模式类中创建相应的代码?
最佳答案
这确实是一个有点基本的问题——many_to_many 是一个“关系桥梁”而不是“关系”。文档解释说 "the difference between a bridge and a relationship is, that the bridge cannot be used to join tables in a search, instead its component relationships must be used."
另一方面,这意味着如果正确发现了真正的关系,那么自动添加多对多关系应该很简单:首先,搜索具有两个或更多 has_many
的表。关系。然后,对于每一对这样的关系,创建一个多对多关系桥。 (当然,人们可能希望 DBIx::Class 自己做这件事。)
关于perl - 为什么 DBIx::Class 不创建多对多访问器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5488261/