Skip to content

可以问一下这个JOIN到底是干了啥? #789

Description

@pbw-langwang

Description

我最近使用apijson导致了一场严重级bug,所以解决后但是不知道为什么,还望解答!

这个是数据库关系:
企业微信截图_1735003108629

其中框起来的表示要搜索的字段!

我一开始的apijson是这样的:

/** 获取我的分析列表 **/
export async function analysisListApi(params = {}, keysword) {
  // 过滤为APIJSON参数格式
  const data = {
    "[]": {
      join: `|/Project/projectId@`,
      query: 2,
      count: params.count,
      page: params.page - 1
    },
    "total@": "/[]/total"
  }

  // 设置模糊查询参数
  const likeList1 = keysword ? likeJoin(["taskName~", "taskId~", "projectId~"], keysword) : {}
  const likeList2 = keysword ? likeJoin(["projectName~", "BNId~"], keysword) : {}

  data["[]"][tableName] = {
    isDelete: 0,
    "@order": "taskCreateTime-",
    // 表字段参数
    ...params.data,
    ...likeList1
  }
  data["[]"]["Project"] = {
    uId: params.uId,
    "projectId@": `/${tableName}/projectId`,
    ...likeList2
  }
  data["[]"]["User"] = {
    id: params.uId,
    "@column": "id,name,email",
    "id@": `/${tableName}/uId`
  }
  delete data.data
  return APIList(baseURL, tableName, data)
}

结果会导致用户可以看见别的用户的数据,将join: |/Project/projectId@,改成join: |/Project/projectId@,&/User/id@,可以是可以了,但是不清楚为什么,可以解答一下吗?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions