Javascript strongloop中基于其他表从一个表中提取信息的查询
我有两个表post和share,post有很多共享。我想使用userId(由所有者用户发布)获取post表中的所有数据,并使用相同的userId检查共享表,即如果某个用户向另一个用户共享post,如果任何条件为true,我需要获取数据 若由所有者发布或由共享表中的其他用户共享,我希望获取post表中的数据 例如: 表名:postJavascript strongloop中基于其他表从一个表中提取信息的查询,javascript,mysql,node.js,loopbackjs,strongloop,Javascript,Mysql,Node.js,Loopbackjs,Strongloop,我有两个表post和share,post有很多共享。我想使用userId(由所有者用户发布)获取post表中的所有数据,并使用相同的userId检查共享表,即如果某个用户向另一个用户共享post,如果任何条件为true,我需要获取数据 若由所有者发布或由共享表中的其他用户共享,我希望获取post表中的数据 例如: 表名:post id(pk) postname userid 1 abc 10 2 xxx 10 3 yyy 11
id(pk) postname userid
1 abc 10
2 xxx 10
3 yyy 11
4 zzz 12
5 bbb 13
表名:共享
id postid(fk) userid
1 3 10
2 4 10
3 3 11
4 1 12
预期输出:按用户ID查找的示例10
id postname userid
1 abc 10 // this record created by user 10 (owner)
2 xxx 10 // this record created by user 10 (owner)
3 yyy 11 // this record shared by other user to user 10.
4 zzz 12 // this record shared by other user to user 10.
模型关系:post.json
"relations": {
"shares": {
"type": "hasMany",
"model": "share",
"foreignKey": "postid"
}
}
我尝试了以下查询,但出现错误
{
"where": {
"or": [
{
"userid": 10
},
{
"include": {
"relation": "shares",
"scope": {
"where": {
"userid": 10
}
}
}
}
]
}
}
和//这里我也只检查了postname,但不需要问这个问题。
{
"where": {
"or": [
{
"userid": 10
},
{
"postname": "xxx"
}
],
"include": {
"relation": "shares",
"scope": {
"where": {
"userid": 10
}
}
}
}
}
跳过“正式”关系,只使用操作钩子(),这样当您进行查找时,您可以操纵结果如何?跳过“正式”关系,只使用操作钩子(),这样当您进行查找时,您可以操纵结果如何?您的意思是单独调用post和share,最后连接两个数据?我的意思是-当一个查找操作被调用时,理论上你可以将共享的帖子附加到它上面。你的意思是单独调用post和share,最后连接两个数据?我的意思是-当一个查找操作被调用时,理论上你可以将共享的帖子附加到它上面。