我有两张桌子发帖和分享,帖子有很多分享。我想使用userId(由所有者用户发布)获取post表中的所有数据,并使用相同的userid检查共享表,如果有一个共享帖子给其他用户,如果有任何条件为真,我需要获取数据。
如果由所有者发布或由共享表中的其他用户共享,我想在post表中获取数据。
示例:
表名:发布
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
}
}
}
}
}
答案 0 :(得分:0)
如何跳过正式的'关系,只需使用一个操作钩子(https://docs.strongloop.com/display/public/LB/Operation+hooks),这样当你进行查找时,你可以操纵结果吗?