问题标签 [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 投票
1 回答
225 浏览

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 的列。

0 投票
1 回答
39 浏览

php - 是否可以通过 Laravel 模型中的不同路径(中间模型)定义多态关系?

我有“付款”、“估计”和“报价”模型,付款具有多态关系,它可以属于报价或估计,同时报价可以有许多估计,所以估计总是会属于一个报价。

基本上,所有付款总是属于报价,有时直接,有时通过估算:

我的问题是,如何定义关系,所以当我使用 时$quote->payments,它不仅会返回与报价直接相关的付款,还会返回与属于该报价的估计相关的付款。

有什么建议么?提前致谢。

0 投票
1 回答
65 浏览

ruby-on-rails - Rails 结合了多个多态的 has_many 关联

我有一个模型Organization,它有很多teams并且有很多collaborations。ACollaboration也有很多teamsOrganization所以团队模型与和具有多态关联Collaboration

我想做的是organization.teams并反映组织中的所有团队以及组织中协作的所有团队。

楷模

尝试

尝试#1

结果:SystemStackError(堆栈级别太深)

尝试#2

结果:ArgumentError(传递给#or的关系必须在结构上兼容。不兼容的值:[:joins])

潜在解决方案

我正在考虑将 Team 上的多态关联分离为organization_idcollaboration_id

所以新表看起来像这样: