我的数据库中有一个名为users
的表。在此表中,我只存储用户ID,用户名和密码。现在,在另一个名为user_meta
的表中,我有以下列:id, uid, meta_key, meta_value
。我正在尝试找到一种方法让Bookshelf自动加载user_meta
uid == userid
中的所有记录,并将其存储为model.meta[meta_key] = meta_value
。可悲的是,我找不到办法让这成为可能。
如果可能的话,第二步是将model.meta
中的所有值保存回更新/插入,插入该用户ID不存在meta_key
的记录,并更新它的位置。
答案 0 :(得分:0)
尝试设置模型之间的关联(关系):
var User = bookshelf.Model.extend({
tableName: 'users',
meta: function() {
return this.hasMany(Meta);
}
});
var Meta = bookshelf.Model.extend({
tableName: 'user_meta',
user: function() {
return this.belongsTo(User);
}
});