http://sailsjs.org/#/documentation/concepts/ORM/Associations/ThroughAssociations.html 我通过上面的链接看到你的解释。 但我不知道究竟是什么意思。 你能为我做一些例子吗? 谢谢
答案 0 :(得分:2)
假设我们在User
和Pet
之间存在多对多关系(如您所见here)。
当我们关联一个user-pet时,新的元组将插入到连接表user_pet
中,其中包含User的id和Pet的id(由sails自动执行)。
//user: {id: 1, name: 'userfoo'};
//pet: {id: 2, name: 'petfoo'};
user.pets.add(pet.id);
user.save();
//in the database (just an example):
user_pet: {user_id: 1, pet_id: 2}
但现在我们需要知道用户与宠物相关联的日期和地址 为此,我们需要在连接表中添加更多信息。
Sails还没有给我们这个支持,所以我们需要创建一个额外的模型作为我们需要的任何属性的中介,并手动执行关联:
user: {id: 1, name: 'userfoo'};
pet: {id: 2, name: 'petfoo'};
//Through Association
my_user_pet: {user_id: 1, pet_id: 2, met_date: '2014-08-08', address: 'foo street...'}
my_user_pet.save();