首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多到多的关系中嵌入子数据?

如何在多到多的关系中嵌入子数据?
EN

Stack Overflow用户
提问于 2021-01-13 21:27:33
回答 1查看 320关注 0票数 1

我在MirageJs有两位模特:

  • 博客
  • 标签

每个博客可以有更多的标签,反之亦然。我与一个名为blog_tag的联接表建立了多到多的关系。我的问题是,当我从服务器获得响应时,标记只包含id属性。如何将整个标记对象嵌入到响应中?

代码语言:javascript
复制
Response:
{
  "blogs": [
    {
      "title": "Some title",
      "author": "Author 0",
      "id": "1",
      "tags": [
        {
          "id": "1"
          // Other properties are not included here :(
        }
      ]
    }
  ]
}

I like to see something like this:
{
  "blogs": [
    {
      "title": "Some title",
      "author": "Author 0",
      "id": "1",
      "tags": [
        {
          "id": "1",
          "name": "Tag 0"
        }
      ]
    }
  ]
}

我的服务器配置:幻影REPL

代码语言:javascript
复制
import { belongsTo, createServer, Factory, hasMany, Model, RestSerializer } from "miragejs"

export default createServer({
  serializers: {
    blog: RestSerializer.extend({
      include: ['tags'],
      embed: true
    })
  },

  models: {
    blog: Model.extend({
      tags: hasMany('blog_tag')
    }),

    tag: Model.extend({
      blogs: hasMany('blog_tag')
    }),

    blog_tag: Model.extend({
      blog: belongsTo(),
      tag: belongsTo()
    })
  },

  factories: {
    blog: Factory.extend({
      author(i) {
        return 'Author ' + i
      },
      title() {
        return 'Some title'
      }
    }),
    tag: Factory.extend({
      name(i) {
        return 'Tag ' + i
      }
    })
  },

  seeds(server) {
    server.createList('blog', 2)
    server.createList('tag', 10)

    server.create('blog_tag', { blogId: 1, tagId: 1 })
  },

  routes() {
    this.namespace = "api"

    this.get("/blogs", (schema) => {
      return schema.blogs.all()
    })
  },
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 13:43:48

实际上,您不需要blog_tag模型就可以执行多到多的操作,Mirage.js将只处理blogtag模型。

参见这里的一个工作示例:幻影REPL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65710036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档