- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然 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/
我在应用程序中使用 DBIx::Simple 和 SQL::Abstract。这是数据库连接代码: my $nms_host = 'mysql.server.com'; my $nms_base
我正在为应用程序使用 Catalyst,并准备将生产版本升级到下一个主要版本。在新版本中,对数据库进行了大量更改。 Catalyst 中的 ORM 是使用物理开发数据库中的 DBIx::Class::
除了使用 View 并手动写出SQL之外,我没有找到与DBIx::Class进行联合的方法。这对我来说似乎很奇怪。我觉得应该有某种方法来合并两个ResultSet,而无需进行很多额外的工作,因为集加法
我在 Dancer2 项目中使用 DBIx::Class 与 MySQL 数据库对话。在该项目中,我有一个 ClassInfo 结果集,我可以毫无问题地从中进行选择、搜索、删除和更新。 但是,每当我尝
我正在使用DBIx::Class并且只想更新表中的一行。目前我是这样做的: my $session = my_app->model("DB::Session")->find(1); $sessi
我最近从事一个 Perl 项目,该项目要求我使用 DBIx::Class 作为 ORM 来与数据库交互。我发现最烦人且最耗时的一件事就是尝试调试和了解正在发生的事情。 我对 Column 'XXXXX
从数据库读取的访问权限已通过返回结果集而不是表或 View 的 mssql 存储过程授予我。但我希望能够使用 ORM 读取数据。 我尝试使用 DBIx::Class::ResultSource::Vi
在下面的这个例子中: my $rs = $schema->resultset('CD')->search( { 'artist.name' => 'Bob Marley' 'liner_not
这是三个表:product , model , 和 product_model以 N:M 关系映射产品和模型。 product product_model mo
在 C#/.Net 世界中,有诸如 NHibernate 或 ActiveRecord 之类的 ORM 包含透明缓存:数据库更新被透明地复制到缓存,对象在可用时直接从缓存中检索等(通常使用 memca
我正在尝试在我的应用程序中实现结果集链接。 以下是我的结果集类中的一些方法: package Schema::ResultSet::Category; use base 'DBIx::Class::R
我正在使用 DBIx::Class我有两个模式: use utf8; package MyApp::Schema::Result::Person; use Moose; use MooseX::Non
是否可以将列添加到 DBIx::Class::Row 对象,这些列是虚拟的,因为它们不会保存到数据库中?我正在寻找 Rose::DB::Object 通过其非持久列 http://search.cpa
我在这上面花了太多时间,但仍然无法使语法正常工作。 在 DBIx::Class 中可以使用这个 select 语句吗? "SELECT A.id, A.name, count(C.a_id) AS c
节日, 我正在使用 DBIx::Class 0.07003 和 DBIx::Class::Schema::Loader 0.03009 并且我正在尝试更改 Loader 生成的类的基类 - 从: pa
我有两个 MySQL 表 humans 和 dogs: TABLE humans: id int, name varchar(32) TABLE dogs id int, human int, dea
我正在尝试使用 MySQL 跟随本教程: https://metacpan.org/pod/DBIx::Class::Migration::Tutorial::FirstMigration 我正在运行
我正在尝试使用 DBIx::Class 编写以下 SQL 查询: SELECT * FROM (SELECT username, DENSE_RANK () OVER (ORDER BY COUNT(
我有一个直接在 MySQL 中运行良好的 SQL 查询,但我正在努力将其转换为通过 DBIx::Class 使用,我在此处简化了查询 UPDATE table1, table2 SET tab
我正在尝试使用 DBIx::Class::Schema::Loader 为 Catalyst 创建模型。我希望结果类有一个基类,我可以向其添加方法。所以 MyTable.pm 继承自 Base.pm,
我是一名优秀的程序员,十分优秀!