- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Catalyst 框架中使用 DBIx::Class。我的本地目标是在用户和任务之间添加新的多对多关系。但是我需要一个小技巧。用户可以在任务中拥有不同的角色(如“ worker ”或“旁观者”)。
所以我有 用户 包含这些字段的表:
my $users = $schema->resultset('User')->with_task_role($task_id);
while (my $u = $users->next) {
print "User: " . $u->name . ", role: " . $u->get_column('task_role');
}
最佳答案
首先,多对多不是一种关系。它是一个访问器(一个关系桥)。
其次,DBIx::Class 有一个很好的文档。看看加入/预取。
在您的 ResultSet/User.pm 文件中,您应该有类似的内容:
sub with_task_role {
my ($self, $task_id) = @_;
return $self->search({
'task.task_id' => $task_id,
},
{
join => { 'user_task' => 'task' },
prefetch => { 'user_task' => 'task' },
},
);
}
关于perl - DBIx :Class many-to-many relationship with additional attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112471/
我在应用程序中使用 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,
我是一名优秀的程序员,十分优秀!