问题标签 [has-many-polymorphs]

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 投票
0 回答
238 浏览

ruby-on-rails - Rails 3.2.11 回形针

Rails 3.2.11 Paperclip 多态嵌套附件,上传的图片永远不会保存!也许我应该为每个需要图像的表添加一个资产 ID?

什么会阻止回形针上传和保存文件?

谢谢先进

错误信息:

架构:

楷模:

视频控制器:

视频形式:

索引视图:

0 投票
1 回答
133 浏览

ruby-on-rails - 多个 has_many-through 到同一个多态表,但具有不同的源类,在测试中失败但在现实中工作

模型是 a User,其中有许多Contacts。Posts 和Images 可以 Contact通过 a 发布到 s ContactPublishment

User具有允许轻松访问s 和visible_postss发布到的方法。visible_imagesPostImage

问题是,虽然user.visible_images工作user.visible_posts完美,但依赖这些关系的规范变得疯狂:

如果删除规范的测试visible_imagesvisible_posts从规范中删除测试,则剩余的测试通过。如果我两个都离开,第二个失败。我可以切换测试的顺序,但第二个仍然失败。奇怪吧?

这是使用 Rails 3.2.15 的代码示例:

0 投票
1 回答
24 浏览

ruby-on-rails - 如何将多个关联与同一组选项捆绑在一起?

我的模型中有以下代码:

现在,有没有一种方法可以有效地编写这段代码:将四行加起来?

我尝试了以下方法:

或者,可能有另一种更好的方式来使用has_many关系,并限制数量。

0 投票
1 回答
742 浏览

ruby-on-rails - cancancan多态关联能力(has_many)

我有嵌套资源,我想允许部门/1/列表、公司/1/列表并继续,我该怎么做?顺便说一句,我使用 rails 5 和 cancancan 2.0

这是我的文件:

路线.rb

列表.rb

部门.rb

公司.rb

列表控制器.rb

能力.rb

谢谢。

我还是想不通

有人请帮助我。

0 投票
0 回答
96 浏览

laravel - Laravel 的雄辩。一种/多对多不同的模型(类型)

我有一个可以与任意数量的项目(其他模型)相关的模型。将它们作为其类型的项目的数组/集合检索的最佳方法是什么,例如

桌子:basket

桌子:basket_items

型号:Basket, Banana, Yoghurt, Bread, Ham,Cheese

到目前为止我得到的是:我不能在这里使用 Eloquent 的关系,因为items方法引用了多个模型。问题是:我可以(可能不知道如何)吗?

作为 B 计划,我只需实现该Basket::items方法发出查询,然后获取每个模型并对其进行水合。我想知道是否有更好的方法来处理它。

0 投票
2 回答
323 浏览

ruby-on-rails - Rails has_many 到 has_and_belongs_to_many

我试图找到通过辅助模型从 has_and_belongs_to_many 关联中获取数据的方法。我现在要说抱歉,因为我可能无法正确解释这一点,所以最好我只是展示关联和我需要做的事情。我正在使用 Rails 5。

我有:

事件模型:

incident has_and_belongs_to_many :apps

应用模型:

app has_and_belongs_to_many :incidents

app belongs_to :service

服务模式:

has_many :apps

我想为我的给定服务找到它通过其拥有的应用程序参与的事件,但我只想要唯一的事件。

有什么方法可以让我@service.apps_incidents.unique获得独特事件的列表。

我的迁移看起来像这样:

服务表:

应用表:

事故表:

应用程序/事件加入表:

0 投票
0 回答
2420 浏览

laravel - 在 Laravel 5.6 中,如何从具有多态关系的产品中添加、删除和获取收藏夹?

我的产品型号是这样的:

我最喜欢的模型是这样的:

我雄辩的查询 laravel 添加、删除和获取如下:

从上面的代码中,我使用参数product_id来添加、删除和获取数据收藏夹

这里我想问的是:以上是否是使用多态关系添加、删除和获取数据的正确方法?

还是有更好的方法来做到这一点?

0 投票
1 回答
723 浏览

laravel - Laravel 多态 hasMany 关系

从 Laravel 的文档中,模型多态性定义如下:

多态关系允许模型在单个关联上属于多个其他模型

听起来它的设计目的是与belongsTo而不是hasMany侧面一起工作。这是我想要实现的场景:

在我的系统中,有很多项目类型,每个项目类型都有自己的发票字段布局。假设我们有一个Project模型,它有一个type字段,其值可以是contractor part-time。我们还有另外两个表被调用ContractInvoicePartTimeInvoice定义它们各自的字段布局,这两个发票表都有一个project_id引用项目记录。我想要做的是我想要一个通用接口来检索给定项目的所有发票,例如$project->invoices.

当前解决方案

我不知道如何通过多态来实现这一点。所以我现在做的有点傻,在我的模型类方法中使用了一个switch语句:invoice()Project

我觉得必须有更好的方法来做到这一点。有人可以阐明一下吗?

0 投票
0 回答
56 浏览

ruby-on-rails - has_many 通过多态,两边都有别名

在 n..n 关联中加入两个模型时遇到问题。

我在上下文中有以下关联:

  • 提案 n..n 产品
  • 提案 n..n 项目
  • 提案 n..n 新项目

与此类似,我有:

  • 订购 n..n 产品
  • 订购 n..n 项目
  • 订购 n..n 新项目

好吧,连接模型在这两种情况下都具有相同的属性,但它们中的每一种的部分是不同的。

有没有办法做一个单一的连接模型(项目),它可以存储所有数据,但可以与订单和提案中的三个不同别名一起使用?

我试图像这样编码它,但没有工作..

提案.rb

订单.rb

产品.rb

项目.rb

项目.rb

我希望统一这种关联,清除一些表格,并尝试加快应用程序的速度。

0 投票
1 回答
885 浏览

php - Laravel Eloquent Polymorphic Sc​​ope 最新第一项

再会,

我有点卡在这里使用 Laravel 范围和 Eloquent Polymorphic 一对多关系获取最新项目。

鉴于:

  • 我正在使用最新版本的 Laravel 6.x。
  • 我有两个模型:WebsiteStatus.
  • Status模型是可重复使用的,可以与其他模型一起使用。
  • 每个网站都有多个状态。
  • 每次更改状态时,都会在 DB 中创建一条新记录。
  • 活动网站状态是数据库中的最新状态。

网站型号:

状态模型:

问题是当我打电话时:

范围将pending()返回所有已获得pending分配状态的网站,而不是当前处于活动pending状态(例如最新状态)的网站。

这是返回的查询DB::getQueryLog()

pending使用具有多态一对多关系的范围获取网站的正确方法是什么?

此处描述了类似的问题:https ://laracasts.com/discuss/channels/eloquent/polymorphic-relations-and-scope

谢谢。