【问题标题】:Relations Has Many Through with 3 models - TypeORM关系有很多通过 3 个模型 - TypeORM
【发布时间】:2021-05-16 20:16:47
【问题描述】:

我有三个模型:User、Category 和 Feed。

第一个是 User,它与第二个模型 Category 具有 一对多 关系。 Category 有一个 userId 列和一个与 User 的多对一关系。

类别与第三个也是最后一个模型具有一对多关系:Feed。同样,Feed 有一个 categoryId 列以及与 Category 的多对一关系。

我想访问某个 categoryId(例如 categoryId = 2)的 Feeds,但仅限于该类别的 userId也是一个特定的值(例如 userId = 1)。

这种关系是 Ruby on Rails 程序员的 has_many_through...

如何使用 TypeORM 构建此查询? 或者,如果您对如何用纯 SQL 编写它有想法,我也会接受。

我也在考虑通过 Feed 直接创建一个列 userId,以在 User 和 Feed 之间建立一对多的关系。你认为这样做会更优化吗?

非常感谢。

【问题讨论】:

  • 您能提供您的用户、类别和提要的模型类吗?然后很容易给你一个可以在 TypeORM 中工作的答案

标签: sql ruby-on-rails typeorm


【解决方案1】:

这就是您通过纯 SQL 实现这一目标的方式,不幸的是,我在 TypeORM 方面没有太多帮助。

SELECT f.*
FROM Feeds f
LEFT JOIN Category g
ON f.categoryId = g.categoryId
WHERE f.categoryId = 2
AND g.userId = 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2017-09-03
    • 2019-06-27
    • 2020-07-13
    • 2014-02-12
    相关资源
    最近更新 更多