问题标签 [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.
laravel - Eloquent Polymorphic MorphMany with children
我有 3 个模型(用户、帖子和评论)。
用户型号:
岗位型号:
迁移后:
评论型号:
评论迁移:
请注意,我的用户表中有两个虚拟用户。
然后假设我们的 Posts 表中有两条记录:
所以让我们为 id #1 创建一个注释:
现在让我们看看第一个带有评论的帖子(我$with
在我的 Post 模型中使用 protected):
我们可以看到第一个帖子现在有评论了,好吧。
现在我想为之前帖子中的第一条评论创建一个子评论:
这是修补程序返回的内容:
Illuminate/Database/QueryException with message 'SQLSTATE[HY000]: General error: 1364 Field 'commentable_id' doesn't have a default value (SQL: insert into
comments
(from_id
,body
,parent_id
,uuid
,updated_at
,created_at
) values (1, Testing child comment, 1, aa3d624f-3984-438c-adb0-26086459de33, 2020-09-01 15:38:36, 2020-09-01 15:38:36))'
所以我的问题是:
如何在多态关系(morphMany()
)中进行子评论?我已经设置了parent_id
属于评论 ID 的列。
php - 是否可以通过 Laravel 模型中的不同路径(中间模型)定义多态关系?
我有“付款”、“估计”和“报价”模型,付款具有多态关系,它可以属于报价或估计,同时报价可以有许多估计,所以估计总是会属于一个报价。
基本上,所有付款总是属于报价,有时直接,有时通过估算:
我的问题是,如何定义关系,所以当我使用 时$quote->payments
,它不仅会返回与报价直接相关的付款,还会返回与属于该报价的估计相关的付款。
有什么建议么?提前致谢。
ruby-on-rails - Rails 结合了多个多态的 has_many 关联
我有一个模型Organization
,它有很多teams
并且有很多collaborations
。ACollaboration
也有很多teams
。Organization
所以团队模型与和具有多态关联Collaboration
。
我想做的是organization.teams
并反映组织中的所有团队以及组织中协作的所有团队。
表
楷模
尝试
尝试#1
结果:SystemStackError(堆栈级别太深)
尝试#2
结果:ArgumentError(传递给#or的关系必须在结构上兼容。不兼容的值:[:joins])
潜在解决方案
我正在考虑将 Team 上的多态关联分离为organization_id
和collaboration_id
所以新表看起来像这样: