我在加入另一张桌子时无法填充键列表,所以我想知道我的模型是否正确以及我想用Thinky做什么,这是我的代码:
群组模型
var Group = thinky.createModel('group', {
users: [thinky.type.string()],
place_id: thinky.type.string()
});
用户模型
var User = thinky.createModel('user', {
name: thinky.type.string()
});
放置模型
var Place = thinky.createModel('place', {
name: thinky.type.string()
});
Place.hasMany(Group, "groups", "id", "place_id");
我想用用户名&获取所有groups
place_id
以下是我所做的:
Place.get(PLACE_ID).getJoin({groups: true}).then(function(g){console.log(g);});
如何填写用户名?使用_apply
?怎么样?
答案 0 :(得分:0)
终于从Thinky的老板那里得到答案:)
Thinky确实以SQL方式加入。见http://thinky.io/documentation/relations/
如果用户可以属于多个组:
var Group = thinky.createModel('group', {
id: thinky.type.string(),
place_id: thinky.type.string()
});
var User = thinky.createModel('user', {
id: thinky.type.string()
name: thinky.type.string()
});
var Place = thinky.createModel('place', {
name: thinky.type.string()
});
Place.hasMany(Group, "groups", "id", "place_id");
Group.hasAndBelongsToMany(User, 'users', 'id', 'id');
Place.get(PLACE_ID).getJoin({groups: {users: true}}).then(function(g){
console.log(g);
})
希望它有所帮助。