查询基于strongloop

时间:2016-03-08 21:12:56

标签: javascript mysql node.js loopbackjs strongloop

我有两张桌子发帖和分享,帖子有很多分享。我想使用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
        }
      }
    }
  }

}

1 个答案:

答案 0 :(得分:0)

如何跳过正式的'关系,只需使用一个操作钩子(https://docs.strongloop.com/display/public/LB/Operation+hooks),这样当你进行查找时,你可以操纵结果吗?