React-admin企业版提供了一个名为ra-relationships的模块。这使得能够在界面中处理多对多关系。我正在构建一个应用程序,其中用户和角色作为单独的资源(即用户可以拥有多个角色,反之亦然)。
据我所知,ra-relationships 模块依赖于所有表(user、roles 和 user_roles)中的主键都简单命名为“id”的前提。但是,这个特定的应用程序的主键为 user_id、role_id 和 user_role_id。
有人遇到过一种方法,而模块可以使用这种设置吗?
我无法证明我的项目的企业成本是合理的,所以我开始解决这个问题。首先,我想在列表视图中显示我的
User
的关系。我正在使用简单的 Prisma 适配器。当我查看 useRecordContact
时,我注意到 membership
(用户和区域的 m2m)已嵌入到上下文中 😮。我尝试使用 ArrayField
和具有源 TextField
的 region.name
但我猜你不能使用点分符号来深入研究它,所以我发现我可以只使用 FunctionField
<FunctionField
render={(record: UserWithDetails) => {
return record.memberships.map((membership) => {
return <Chip key={membership.id} label={membership.region.name} />;
});
}}
/>
当然,这只是显示数据。创建与数据库交互的自定义字段似乎非常可行。就我而言,我使用的是 Remix.js,所以现在我需要创建自定义输入,以触发由
admin.$.tsx
组件所在的 Admin
路由操作函数拾取的操作。关于这部分还有很多未知数。