问题标签 [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.
ruby-on-rails - Rails 3.2.11 回形针
Rails 3.2.11 Paperclip 多态嵌套附件,上传的图片永远不会保存!也许我应该为每个需要图像的表添加一个资产 ID?
什么会阻止回形针上传和保存文件?
谢谢先进
错误信息:
架构:
楷模:
视频控制器:
视频形式:
索引视图:
ruby-on-rails - 多个 has_many-through 到同一个多态表,但具有不同的源类,在测试中失败但在现实中工作
模型是 a User
,其中有许多Contact
s。Post
s 和Image
s 可以 Contact
通过 a 发布到 s ContactPublishment
。
User
具有允许轻松访问s 和visible_posts
s发布到的方法。visible_images
Post
Image
问题是,虽然user.visible_images
工作user.visible_posts
完美,但依赖这些关系的规范变得疯狂:
如果删除规范的测试visible_images
或visible_posts
从规范中删除测试,则剩余的测试通过。如果我两个都离开,第二个失败。我可以切换测试的顺序,但第二个仍然失败。奇怪吧?
这是使用 Rails 3.2.15 的代码示例:
ruby-on-rails - 如何将多个关联与同一组选项捆绑在一起?
我的模型中有以下代码:
现在,有没有一种方法可以有效地编写这段代码:将四行加起来?
我尝试了以下方法:
或者,可能有另一种更好的方式来使用has_many
关系,并限制数量。
ruby-on-rails - cancancan多态关联能力(has_many)
我有嵌套资源,我想允许部门/1/列表、公司/1/列表并继续,我该怎么做?顺便说一句,我使用 rails 5 和 cancancan 2.0
这是我的文件:
路线.rb
列表.rb
部门.rb
公司.rb
列表控制器.rb
能力.rb
谢谢。
我还是想不通
有人请帮助我。
laravel - Laravel 的雄辩。一种/多对多不同的模型(类型)
我有一个可以与任意数量的项目(其他模型)相关的模型。将它们作为其类型的项目的数组/集合检索的最佳方法是什么,例如
桌子:basket
桌子:basket_items
型号:Basket
, Banana
, Yoghurt
, Bread
, Ham
,Cheese
到目前为止我得到的是:我不能在这里使用 Eloquent 的关系,因为items
方法引用了多个模型。问题是:我可以(可能不知道如何)吗?
作为 B 计划,我只需实现该Basket::items
方法发出查询,然后获取每个模型并对其进行水合。我想知道是否有更好的方法来处理它。
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
获得独特事件的列表。
我的迁移看起来像这样:
服务表:
应用表:
事故表:
应用程序/事件加入表:
laravel - 在 Laravel 5.6 中,如何从具有多态关系的产品中添加、删除和获取收藏夹?
我的产品型号是这样的:
我最喜欢的模型是这样的:
我雄辩的查询 laravel 添加、删除和获取如下:
从上面的代码中,我使用参数product_id
来添加、删除和获取数据收藏夹
这里我想问的是:以上是否是使用多态关系添加、删除和获取数据的正确方法?
还是有更好的方法来做到这一点?
laravel - Laravel 多态 hasMany 关系
从 Laravel 的文档中,模型多态性定义如下:
多态关系允许模型在单个关联上属于多个其他模型
听起来它的设计目的是与belongsTo
而不是hasMany
侧面一起工作。这是我想要实现的场景:
在我的系统中,有很多项目类型,每个项目类型都有自己的发票字段布局。假设我们有一个Project
模型,它有一个type
字段,其值可以是contract
or part-time
。我们还有另外两个表被调用ContractInvoice
并PartTimeInvoice
定义它们各自的字段布局,这两个发票表都有一个project_id
引用项目记录。我想要做的是我想要一个通用接口来检索给定项目的所有发票,例如$project->invoices
.
当前解决方案
我不知道如何通过多态来实现这一点。所以我现在做的有点傻,在我的模型类方法中使用了一个switch
语句:invoice()
Project
我觉得必须有更好的方法来做到这一点。有人可以阐明一下吗?
ruby-on-rails - has_many 通过多态,两边都有别名
在 n..n 关联中加入两个模型时遇到问题。
我在上下文中有以下关联:
- 提案 n..n 产品
- 提案 n..n 项目
- 提案 n..n 新项目
与此类似,我有:
- 订购 n..n 产品
- 订购 n..n 项目
- 订购 n..n 新项目
好吧,连接模型在这两种情况下都具有相同的属性,但它们中的每一种的部分是不同的。
有没有办法做一个单一的连接模型(项目),它可以存储所有数据,但可以与订单和提案中的三个不同别名一起使用?
我试图像这样编码它,但没有工作..
提案.rb
订单.rb
产品.rb
项目.rb
项目.rb
我希望统一这种关联,清除一些表格,并尝试加快应用程序的速度。
php - Laravel Eloquent Polymorphic Scope 最新第一项
再会,
我有点卡在这里使用 Laravel 范围和 Eloquent Polymorphic 一对多关系获取最新项目。
鉴于:
- 我正在使用最新版本的 Laravel 6.x。
- 我有两个模型:
Website
和Status
. Status
模型是可重复使用的,可以与其他模型一起使用。- 每个网站都有多个状态。
- 每次更改状态时,都会在 DB 中创建一条新记录。
- 活动网站状态是数据库中的最新状态。
网站型号:
状态模型:
问题是当我打电话时:
范围将pending()
返回所有已获得pending
分配状态的网站,而不是当前处于活动pending
状态(例如最新状态)的网站。
这是返回的查询DB::getQueryLog()
pending
使用具有多态一对多关系的范围获取网站的正确方法是什么?
此处描述了类似的问题:https ://laracasts.com/discuss/channels/eloquent/polymorphic-relations-and-scope
谢谢。