一次创建记录和关联记录 [英] Create a record and an associated record in one go

查看:202
本文介绍了一次创建记录和关联记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题:

想象一下,我有两个关联的模型: Library 有许多 Book s:

Imagine I have two associated models, Library which has many Books:

var Library = sequelize.define('Library', {
    title: Sequelize.STRING,
    description: Sequelize.TEXT,
    address: Sequelize.STRING
});
var Book = sequelize.define('Book', {
    title: Sequelize.STRING,
    description: Sequelize.TEXT,
    publish_date: Sequelize.DATE
});
Library.hasMany(Book);

现在,为了创建和单个关联的 Book ,我:

Now, in order to create a Library and a single associated Book, I do:

Library.create({
    name: 'Roan Library',
    address: '123 Any St'
}).then(function (library) {
    Book.create({
        title: 'Reading with Time',
        description: 'A fun jaunt in reading',
        libraryId: library.id
    });
});

问题:

可以一次创建单个 create()调用

Is it possible to create a Library and a Book instance in one go - in a single create() call?

类似的东西(更像一个伪代码) / p>

Something like (more like a pseudo-code):

Library.create({
    name: 'Roan Library',
    address: '123 Any St',
    books: [
        {
            title: 'Reading with Time',
            description: 'A fun jaunt in reading',
            libraryId: library.id
        }
    ]
});


推荐答案

创建如下的参数:

Library.create({
    name: 'Roan Library',
    address: '123 Any St',
    Books: [
        {
            title: 'Reading with Time',
            description: 'A fun jaunt in reading'
        }
    ]
}, {
    include : [Book]
});

这篇关于一次创建记录和关联记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆