书架(KNEX) - 属于Stomany关系不起作用



我一直在尝试使用AlterStomany关系(书架)来设置帖子和标签之间的关系。这是我的代码:

db.js

const Post = bookshelf.Model.extend({
    tableName: 'posts',
    hasTimestamps: true,
    tags: function(){
        return this.belongsToMany(Tag)
    }
})
const Tag = bookshelf.Model.extend({
    tableName: 'tags',
    posts: function(){
        return this.belongsToMany(Post)
    }
})
// Pivot table
const PostTag = bookshelf.Model.extend({
    tableName: 'posts_tags',
    post: function(){
        return this.belongsTo(Post)
    },
    tag: function(){
        return this.belongsTo(Tag)
    }
})

获得路线是:

.get('/:id', (req, res, next) => {
        db
            .Post
            .where('id', req.params.id)
            .fetch({widthRelated: ['tags'], require:true})
            .then((data)=> {
                return res.json({data, ralation: data.related('tags').toJSON()})
            })
    })

我已经在数据库中添加了一个表'post_tags',并且所有数据库都播种,包括此枢轴表。因此,当我在路线上查询时,关系查询甚至没有启动。KNEX调试: sql:'选择posts。*从posts id =?限制?'

帖子 - ID标题text created_at updated_at


标签-ID名称创建_at updated_at


POST_TAGS -ID POST_ID TAG_ID create_at Updated_at


代码中是否有任何错误?

对不起这篇文章 - 我只有错字:

.fetch({widthRelated: ['tags'], require:true})

widthrolated =删除!!!!!

最新更新