2
belongsToMany 관계 (Bookshelf)를 사용하여 게시물과 태그 간의 관계를 설정하려고했습니다.Bookshelf (knex) - belongsToMany 관계가 작동하지 않습니다.
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)
}
})
가져 오기 경로입니다 : : 이미 데이터베이스에 테이블 'posts_tags'을 추가 한
.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()})
})
})
모든 데이터베이스가 포함 씨앗을 품고 여기 내 코드입니다 이 피벗 테이블. 따라서 경로를 통해 쿼리 할 때 관계 쿼리가 시작되지 않습니다. knex 디버그 :
sql : 'posts
을 선택하십시오. * posts
에서 id
=? 한계? '
테이블
게시물 - ID 이름 created_at
posts_tags updated_at - - ID post_id를 tag_id created_at
updated_at ID 제목 텍스트 created_at태그 updated_at
코드에 실수가 있습니까? 이 게시물에 대한