1

Sequelize for Node.JSを使用して、数時間つまずきました。アソシエーションを設定するためにそれを使用するような運はありませんでした(限られた時間内に、そうするために私のアーキテクチャのほとんどを分解する必要がありました)。私のアプリの場合、関連付けはごくわずかです(主にブログに関連しています)。

私のブログAPI呼び出しの1つ(これは特定のブログID用です):

exports.single = function (req, res, next) {
db.Models.blog.find({
    where: res.locals.where
})
.success(function (blog) {
    getAuthors(blog.BLOG_ID, function (authors) {
        blog.AUTHORS = authors;
        res.locals.data = blog;
        next();
    });
})
.error(function (err) {
    res.locals.error = err;
    next();
});

}

getAuthors(blogId)を呼び出して、作成者<->ブログのリンクテーブルにあるすべての作成者を取得します。

function getAuthors (blogId, fn) {
db.Models.author.findAll({
    where: { BLOG_ID: blogId }
})
.success(function (authors) {
    fn(authors);
})
.error (function (err) {
    fn([]);
});

}

ほとんどの場合、機能します。正しいデータを取得していますが、それを元のブログデータとマージしようとしています。できればプロパティとして。

4

1 に答える 1

1

2番目のクエリから戻ってきた作成者オブジェクトのコンテンツをダンプした後、Sequelizeオブジェクトからデータをプルするときに使用されるプロパティを知りました。

model.attritubes[];

SequelizeObjectから出力されるデータ属性を一覧表示する文字列の配列です。だから私の行の前に:

blog.AUTHORS = authors;

やった:

blog.attributes.splice(5, 0, 'AUTHORS');

私は賢い人ではありません。

于 2012-12-10T06:31:46.833 に答える