perl - 为什么 DBIx::Class 不创建多对多访问器?

标签 perl dbix-class

虽然 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/

相关文章:

perl - 变量未在应用中更新

sql - DBIx::Class是否进行联合?

Perl DBIx::Class - 使用 new() 时的默认值?

perl - Catalyst中DBIx::Class::Schema模型上的Moose方法修饰符

windows - 如何识别 Perl 字符串中的 Windows 文件路径?

android - Perl 代码输出在 IIS 和 Apache 中的行为不同

perl - 两种形式的 Perl 文件名通配符命令之间的区别

perl - DBIx::Class::Schema::Loader 连接到不同机器上的数据库

sql - 如何使用 DBIx :Class? 执行 WHERE ‘OR’ 和 “AND’

java - 如何将 perl 脚本嵌入到 jar 文件中执行?