我很难将自己的头脑包裹在与sailsjs的联系中。
我有2个模特
服务
attributes: {
status: {
defaultsTo: 'inactive'
},
userId:{
model: 'users',
via: 'id',
},
},
用户
attributes: {
email: {
type: 'string',
required: true,
unique: true
},
password: {
type: 'string'
}
},
因此,服务与用户绑定(匹配用户的ID)。
我曾经打过http://localhost:1337/Services?userId= userId
这样的电话现在我想使用上面的模型属性转换到关联。
这可以通过调用服务的ID很好(它也包括用户数据),但是如果我只有用户,我怎么能得到服务
执行相同的调用(http://localhost:1337/Services?userId= userId )会返回并清空对象。
我是否被迫实际上有一对一或一对多的关联?我不明白为什么一旦开始使用关联,我就不能再使用userId字段(存储在数据库中)来进行查询。我想我在这里寻找两全其美。
编辑:
让我试着让这个更清楚。在尝试进行关联之前,我可以调用此URL(使用蓝图)
http://localhost:1337/Services?userId=userId
服务模型过去看起来像这样
attributes: {
status: {
defaultsTo: 'inactive'
},
userId:{
type: 'string',
required: true,
},
},
然后,当创建用户时,将创建该用户的服务,其userId与Users表中的ID匹配。
现在我想使用上面的模型方案实现关联。
但是,因为(我的最佳猜测)服务的 userId 字段已映射到用户模型,我无法使用 userId 字段搜索服务器那是存储的。
我希望这有道理吗?换句话说,试着打电话
http://localhost:1337/Services?userId=userId
在使用关联时不返回任何内容,但在我不使用关联时返回值