0

在加入另一张桌子时,我无法填充键列表,所以我想知道我的模型是否正确以及我想要做的事情是否可以使用 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? 如何 ?

4

1 回答 1

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);
})

希望能帮助到你。

于 2015-11-10T09:22:53.583 回答