问题标签 [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.
cakephp - Cakephp 检索 HABTM 的条件
我正在使用 cakephp 并希望显示属于“X”类别的所有提交我有 4 个具有 HABTM 关系的表。
用户 -> (haveMany) -> 提交 <-> (hasAndBelongsToMany) <-> 类别
但我想使用 $this->paginate() 这样做,并且对于每个提交,我想显示发布提交的用户。
用户表
提交表
类别表
提交类别表
我真的很难创建一个可以做到这一点的分页,我开始认为这是不可能的,除非我错过了一些东西。
如果我没有使用 cakephp,这就是我想要做的查询
ruby-on-rails - RSpec 测试关系逻辑
我正在测试以下内容:
帐户
所有权加入模式
测试
我不断收到这个错误
我真的不明白 - 什么父母?使用“创建”方法时,不应该创建和保存所有模型吗?我试过把'account.save'放在任何地方。
ruby-on-rails - HABTM,还是多个belongs_to?
我正在自学 Rails,作为一个测试项目,我正在模拟一个类似于 stackoverflow 的简单问答应用程序。
在我的简化版本中,我有:
- 问题
- 答案
- 用户(问题和答案的作者)
- 用户和问题之间的正确关系是什么?
- 用户和答案之间的正确关系是什么?
在我看来,问题和答案并不是真正“属于”用户,而是问题和答案“有一个用户”(作者)。但这似乎也不对,因为这样用户就会“belong_to question”和“belong_to answer”。
HABTM 是三个类别之间的答案吗?
很多人都被这种关系所困扰,不是吗?:)
ruby-on-rails - 如何创建一个没有错误地删除/销毁的rails habtm?
我创建了一个简单的示例作为健全性检查,但似乎仍然无法破坏 rails 中 has_and_belongs_to_many 关系两侧的项目。
每当我尝试从任一表中删除对象时,都会收到可怕的 NameError /“未初始化常量”错误消息。
为了演示,我创建了一个带有 Boy 类和 Dog 类的示例 rails 应用程序。我为每一个都使用了基本的脚手架,并创建了一个名为boys_dogs 的链接表。然后,我添加了一个简单的 before_save 例程,以在任何时候创建一个男孩并建立关系时创建一个新的“狗”,以便轻松设置。
狗.rb
男孩.rb
架构.rb
我在这里和其他地方看到了很多关于类似问题的帖子,但解决方案通常使用belongs_to 并且复数/单数类名被混淆。我不认为这里是这种情况,但我尝试将 habtm 语句切换为使用单数名称只是为了看看它是否有帮助(没有运气)。我似乎在这里遗漏了一些简单的东西。
实际的错误信息是:
BoysController#destroy
未初始化常量 Boy::Dogs 中的 NameError
跟踪看起来像:
/Library/Ruby/Gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:105:in destroy_without_callbacks' /Library/Ruby/Gems/1.8/gems/activerecord-2.3.4/lib/active_record /callbacks.rb:337:in发送' ...
const_missing'
(eval):3:indestroy_without_transactions'
/Library/Ruby/Gems/1.8/gems/activerecord-2.3.4/lib/active_record/transactions.rb:229:in
谢谢。
ruby-on-rails - Rails 试图发送一个 habtm 模型连接表的 id?
所以我有两个 Rails 模型——用户和角色——每个模型都指定了一个 habtm 和一个 users_roles 连接表。
当我从我的用户表单中保存时,该表单具有可供选择的角色的复选框,rails 试图手动将一个值插入到连接表的 id 列中。这对我来说没有意义,因为 id 列应该设置为 auto_increment ,因此不需要传递给它的值。每当我尝试保存时,都会出现 MySQL 错误。
我错过了什么吗?
谢谢。
ruby-on-rails - 验证 has_and_belongs_to_many 的存在
嗨,我在模型中使用 has_and_belongs_to_many。我想为种类设置存在的valitor。并将每个核心的最大种类数设置为 3
我能怎么做?
谢谢
ruby-on-rails - Rails - HABTM 关系...存储用户的复选框值
我试图找出这个 HABTM 关系问题,以便在我的数据库中存储用户的利益。兴趣表有一个带有 id 和 name 的不同兴趣列表(即: id=1 ,name = 'Music')
我有一个用户模型 => user.rb
和一个兴趣模型 => interest.rb
现在我正在尝试从复选框列表中编辑或更新用户的兴趣选择。控制器看起来像这样 =>
param_posted 函数看起来像这样
视图逻辑如下所示:
我认为一切看起来都很干净,但是当我运行视图时,我得到了错误:
InterestController#edit 中的 NoMethodError - # User:0x4797ddc 的未定义方法“interest”
我是否需要创建一个单独的模型/表格来将用户的兴趣与事件联系起来?像 InterestsofUsers (id, user_id, interest_id)?我认为HABTM关系将消除对那个的需要......
使困惑
ruby-on-rails - HABTM 关系和连接表
我正在尝试连接我拥有的两个连接表的值并根据条件关系显示结果......我遇到了一些问题
我有一个用户模型(:名称,:密码,:电子邮件),事件模型(:名称,:etc)和兴趣模型(:名称)
我在每个模型中创建了大约 5 条记录。
然后我创建了两个连接表 -> UsersInterests 和 EventsInterests;每个不包含主键,仅分别由 user_id/interest_id 和 event_id/interest_id 组成。
然后我在模型文件中添加了 HABTM 关系
现在我想创建一个控制器,它只查找用户兴趣与事件兴趣相对应的事件
经过一段时间的研究,我发现我需要在
或类似的东西......我有点迷路了......你如何陈述查找条件?......我知道如何在sql中进行内部连接,但我正在寻找优雅的Rails方式来做到这一点。 ..有什么建议吗?
ruby-on-rails - HABTM 关系和命名范围
我已经为此工作了一段时间,我似乎无法找到哪里有错误。
我有一个用户模型(:名称,:密码,:电子邮件),事件模型(:名称,:等)和兴趣模型(:名称)[>所有单数<]
然后我创建了两个连接表 -> UsersInterests 和 EventsInterests;每个不包含主键,仅分别由 user_id/interest_id 和 event_id/interest_id 组成。[>复数<]
我的模型包含 HABTM 关系如下
Whew..ok 所以我想创建一个 named_scope 来查找与特定用户有共同兴趣的所有事件。这是有人帮助我的一些代码。
当我从控制器运行时 =>
我收到 SQL 错误:“没有这样的列:Event.id: SELECT "events".* FROM "events" LEFT JOIN events_interests ei ON ei.event_id =......."
现在我确定事件模型有一个 id 并且我认为我的所有列名都是正确的..任何人都可以看到缺少什么吗?
ruby-on-rails - 在 Rails 中创建大量 HABTM 关联的最快方法是什么?
我有两个表,在 Rails 中有一个 HABTM 关系。类似于以下内容:
现在我有一个新Foo
对象,并且想要为它批量分配数千个条形图,我已经预加载了这些条形图:
最快的方法是什么?我试过了:
两者都运行得很慢,每个条目如下所示bar
:
bar_foos 列 (1.1ms) SHOW FIELDS FROM
bars_foos
SQL (0.6ms) INSERT INTObars_foos
(bar_id
,foo_id
) VALUES (100, 117200)
我查看了 ar-extensions,但import
如果没有模型 (Model.import),该函数似乎无法工作,因为模型 (Model.import) 无法将其用于连接表。
我需要编写 SQL,还是 Rails 有更漂亮的方法?