Docs: 为多对多关系创建指南

创建于 2016-03-10  ·  13评论  ·  资料来源: feathersjs/docs

这种情况一遍又一遍地出现,我们需要一个具体的例子,我们可以指出你如何处理与 Feathers 的多对多关系。 我们的 FAQ 中有一些内容

一些相关的讨论:

最有用的评论

有任何更新吗?

所有13条评论

什么是首选方法?

@niallobrien我今天要推一些东西

很好,谢谢。

有任何更新吗?

@sscaff1是的,抱歉,我有一些东西正在制作中,基本上如果你需要简单的人口,你可以只使用羽毛populate钩子,如果你需要更复杂的东西,你目前需要通过传递hook.params.sequelize进入续集

我一直忙于工作,我们没有使用续集,所以我希望下周能完成本指南。

@ekryski ,希望你一切顺利。 我想知道指南是否准备好了? 如果是这样,我在哪里可以找到它? 如果没有,那么您能说一下什么时候可以使用吗? 谢谢你的帮助。

我不确定这是否还需要,因为新的生成器/cli v2.0.0 会自动为您设置 sequelize 模型结构,您只需按照sequelize 告诉您的方式定义多对多关系。

一件事可能与人口有关。 @DesignByOnyx你不会准备写一篇博文吧? 这样我们就可以停止在 Slack 中回答问题,而只是将人们指向帖子。

我当然不介意写一篇关于人口的博客文章。 您是正确的,新生成器可以轻松定义关系。 但是,“填充”钩子仍然被 sequelize 破坏,并且正在做一些工作来解决这个问题(阅读这里。我也在研究一个 sequelize“include”钩子,它可以被 sequelize 用户用来利用 SQL加入。

@DesignByOnyx你有没有和@daffl谈过instantiateserializefeathers-sequelize钩子? 这样我们就可以让https://github.com/feathersjs/feathers-hooks-common/issues/144#issuecomment -291428967 继续前进。

这现在超出了文档的范围。 数据库适配器记录了如何与选择的 ORM 集成。 当然,博客文章总是受欢迎的。

根据文档,首选方法是不使用 orm 适配器。 作为概述这里。 唯一的例子是聊天应用程序,但进一步的例子和使用钩子创建关系的正确方法的解释会很有帮助,例如一个简单的用户角色或三个表一对多和多对多的例子,使用 cli 作为起点将是赞赏。 谢谢。

我的两分钱 - 每多对多的关系最终都会解决
成:一个---->>许多<<-----一个

谢谢,

马克·爱德华兹

2019 年 1 月 21 日星期一上午 9:54 David Luecke通知@ github.com
写道:

关于协会的常见问题
https://docs.feathersjs.com/faq/readme.html#how-do-i-do-associations
有可以帮助解决此问题的示例和插件的链接。


您收到此消息是因为您订阅了此线程。
直接回复本邮件,在GitHub上查看
https://github.com/feathersjs/docs/issues/51#issuecomment-456138925或静音
线程
https://github.com/notifications/unsubscribe-auth/ACyd4mHgM39_T784XsWIVH-5lAHptrhcks5vFfDBgaJpZM4HtRhp
.

David 这就是我在 FAQ 中所说的,不使用 ORM 的唯一例子是聊天应用程序或作为使用插件的替代方式。 您有使用 ORM 的示例,但是除了聊天应用程序(例如 user-role 或一对多的三表)之外,更多使用首选方法的示例将非常有帮助。 谢谢。

我如何做关联?

与验证类似,这取决于您的数据库/ORM 是否支持模型。

首选方式

对于任何羽毛数据库/ORM 适配器,您都可以使用钩子https://docs.feathersjs.com/api/hooks.html从其他服务获取数据。

这是一种更好的方法,因为它使您的应用程序数据库不可知并面向服务。 通过引用服务(使用 app.service().find() 等),您仍然可以解耦您的应用程序并使这些服务存在于完全独立的机器上或使用完全不同的数据库,而无需更改任何获取代码。 我们展示了如何在聊天指南https://docs.feathersjs.com/guides/chat/processing.html中的挂钩中关联数据。 另一种选择是 fastJoin https://feathers-plus.github.io/v1/feathers-hooks-common/#fastjoin或填充https://feathers-plus.github.io/v1/feathers-hooks-common/#填充到feathers-hooks-common https://feathers-plus.github.io/v1/feathers-hooks-common/

ORM方式

从邮件发送https://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10


来自:David Luecke [email protected]
发送时间:2019 年 1 月 21 日星期一上午 11:54:25
至:feathersjs/docs
抄送:丹尼尔·埃勒巴什; 评论
主题:回复:[feathersjs/docs] 为多对多关系创建指南 (#51)

关联常见问题解答https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.feathersjs.com%2Ffaq%2Freadme.html%23how-do-i-do-associations&data=02 %7C01%7C%7C533c2da93acf4a6f4a9e08d67fc119c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636836864675737675&SDATA = GxlnnJXVg%2B3%2FHxpBIKbCRA29FupbzC7UtioDQo%2FUws4%3D&保留= 0具有联结到实施例和插件,与这可以帮助。


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ffeathersjs%2Fdocs%2Fissues%2F51%23issuecomment-456138925&data=02 %7C01%7C%7C533c2da93acf4a6f4a9e08d67fc119c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636836864675737675&SDATA = Kq8c1C3fjwrDUSIBjImA3k573bL990dY8x35GRuk7fg%3D&保留= 0 ,或静音螺纹https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub。 COM%2Fnotifications%2Funsubscribe-AUTH%2FACHggPhmTBxz4ZtYuiJDxj7n_dAgyGgGks5vFfDBgaJpZM4HtRhp&数据= 02%7C01%7C%7C533c2da93acf4a6f4a9e08d67fc119c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636836864675737675&SDATA = SCzY%2BUcz1qKFl%2FgqlfYQdwWHcp7xDadN7JdeRUcMCXE%3D&保留= 0

此页面是否有帮助?
0 / 5 - 0 等级