问题标签 [has-and-belongs-to-many]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2104 浏览

cakephp - 如何在 CakePHP 的第三个 n..n (hasAndBelongsToMany) 关系中加入两个表?

我有n...n两个表的结构,makes并且models. 到目前为止没有问题。

在第三个表 ( products) 中,例如:

make我的问题是为我包含的一个特定产品创建一个视图,ProductsController这就是制作模型:

我认为这可以工作:

所以,如果我想使用listto 传递给我的视图来创建单选按钮,我将不得不foreach()在我的make数组中执行一个来查找所有模型标题并创建一个新数组并通过$this->set().

有没有更简单的方法来获取该列表而不会强调make数组。在我的应用程序中开发此类场景将是一项常见任务。

提前感谢您的任何提示!

0 投票
2 回答
6031 浏览

cakephp - CakePHP hasAndBelogsToMany 使用 save() 与 saveAll()

我正在使用带有 CakePHP 应用程序的非常内在的数据库,到目前为止,我的多模型视图和控制器工作正常。我有一个单数表(Entity),它id在其他几个表上作为外键entity_id

有些表是一对一的关系(比如 aCompany是一个Entity),有些表是一对多的(Entity可以有几个Addresses)等等。

我不会/不能更改数据库模型,所以这就是结构。

我一直在使用saveAll()以下输入名称在这些表上保存数据:

而我的拯救就是做所有艰苦的工作BEGIN TRANSACTION,所有INSERT的和最后的COMMIT......

但是现在我创建了EntityCategory一个对 n 的关系,并在HABTM模型内创建了完整的关系。

当我使用它时它起作用save(),但只是HABTM关系,当我使用时它会保存一切saveAll()(就像以前一样),除了HABTM关系。

我错过了什么吗?我如何使它正常工作?我今天使用以下代码:

saveAll()所有数据保存在几个表中,保存 idEntity->idsave()保存HABTM关系,但我不确定它是否正确,或者如果我更改某些结构/模型是否会给我带来问题。

这是最好的使用方法吗?有没有一种正确的方法可以在 CakePHP 中保存这种关系?您的经验/知识可以告诉我什么?

0 投票
3 回答
5516 浏览

ruby-on-rails - 与多个数据库有并属于许多关系

我有一种情况,我有两个模型,公司和权限,其中公司位于与我的权限数据库不同的数据库中。这是一个拥有和属于很多的关系,因为每个公司可以有很多权限,每个权限可以属于很多公司。

两个数据库分开的原因是公司数据库运行一个高需求的生产应用程序,而权限数据库控制另一个应用程序的权限。

使用 rails,它会在与主表相同的数据库中查找连接表。例如,如果我执行 company.permissions,它会在公司数据库中查找 company_permissions。如果我做 permission.companies 它会在权限数据库中查找。

使用与多个数据库具有和属于多个关系的最佳解决方案是什么?

0 投票
1 回答
3431 浏览

ruby-on-rails - Rails 协会,habtm?多态?两个都?

在我的 Rails 应用程序中,我有三个模型,Projects、BlogPosts 和 Images。项目和博客帖子可以有许多链接图像,并且图像可以链接到项目、博客帖子或两者。

建立关联以使其在 Rails 中工作的最佳方式是什么?

0 投票
4 回答
25680 浏览

php - 如何使用 HABTM 关系在 CakePHP 中查询数据?

我正在开发一个 CakePHP 1.2 应用程序。我有一个模型“用户”,通过连接表定义了一些与其他表的 HABTM 关系。

我现在的任务是根据存储在这些 HABTM 表之一中的数据查找用户信息。不幸的是,当查询执行时,我的条件因缺少表的错误而被拒绝。经过检查,CakePHP 似乎没有在 select 语句中包含任何 HABTM 表。

我的用户 HABTM 关系如下:

错误是:

SQL 错误:1054:“where 子句”中的未知列“School.name”

最后,它试图执行的查询

0 投票
1 回答
795 浏览

ruby-on-rails - Rails:如何观察实际上没有模型的连接记录?

是否可以使用 Observer 来观察 JOIN 记录的创建?例如,您有一个拥有_and_belongs_to_many Book Models 的用户模型。是否可以在创建或删除 books_users 记录时对其进行监控,或者我必须有一个 BookUser 模型来执行此操作?

我想观察的例子:

或者

管他呢!

谢谢,

戴夫·K。

0 投票
2 回答
1197 浏览

ruby-on-rails - 如何编辑 HABTM 表中的附加数据?

如何更新 HABTM 表中的其他数据。

例如:我有movies,people和 HABTMmovies_people表,但表中还有一个额外persontype_id的字段movies_people表示此人在该特定电影中的角色。如何添加/更改此值?

0 投票
1 回答
1648 浏览

ruby-on-rails - 有没有一种 RESTful 方式来为 habtm 配置路由?

在 Rails 中,您可以使用嵌套路由为 has_one 和 has_many 关系创建 RESTful 路由。示例可以在Rails 指南中找到

我想问一下是否有一种为habtm关系配置RESTful路由的好方法?例如,如果我有一个关系 A-habtm-B,我的想法是为 A has_many B 配置嵌套路由,为 B has_many A 配置嵌套路由。这样行吗?或者,还有更好的方法?

0 投票
1 回答
1202 浏览

ruby-on-rails - 试图删除 rails 中的 has_and_belongs_to_many 关系

所以我昨天才开始我的第一个 Rails 项目。我的应用程序中有两个多对多(has_and_belongs_to_many)关系。我在模型游戏和团队之间有一个,另一个在模型统计数据和结果之间。通过自己通过迁移创建连接表,这一切都很好。

然后我决定我不想让统计/结果关系是多对多的,而是多对多的关系,所以我运行了以下迁移并将关系切换到 has_many 和 belongs_to:

然后,当我这样做时,不仅新的一对多关系不起作用,因为我在调用 Result.find(0).stat 时收到 NoMethodError,而且现在我之前与游戏和团队的工作多对多关系现在也坏了。我以前可以调用 Game.fine(0).teams 来查找并查看结果,现在我也得到了 NoMethodError。有什么想法吗?我很迷茫,任何帮助都会很棒。

0 投票
2 回答
966 浏览

database - 当并非所有连接表列都是外键时保存 HABTM 记录

我正在尝试更新具有并属于许多(HABTM)关系的表。

当我的连接表看起来像这样时:

我使用 CakePHP,所以我可以用 $this->Item->save($data) 更新表,其中 $data 是:

我在连接表中添加了一列,现在看起来像:

当我保存 $data 时,我还想保存一个用户 ID。在单个保存操作中,所有记录的用户 ID 都是相同的。

有人可以帮助我了解 $data 数组需要是什么样子才能合并用户 ID 吗?谢谢。