Запрос с внешними ключами (foreign key)

Для вывода значения у foreign key колонки применяется следующее правило:

[foreign key поле]___[имя колонки]
=================================
F_User___C_Name

Пример запроса имени пользователя и роли пользователя.

{
  "action": "accesses",
  "method": "Query",
  "data": [
    {
      "select": "id,allow,user_id,user_id___name,user_id___id,roles_id,roles_id___id,table_name",
      "page": 1,
      "start": 0,
      "limit": 25
    }
  ],
  "type": "rpc",
  "tid": 2
}

Ответ:

[
  {
    "meta": {
      "success": true,
      "msg": "ok"
    },
    "result": {
      "records": [
        {
          "id": 1,
          "allow": 0,
          "user_id": 1,
          "user_id___name": "Демонстрация",
          "user_id___id": 1,
          "roles_id": "admin",
          "roles_id___id": "admin",
          "table_name": "accesses"
        },
        {
          "id": 2,
          "allow": 0,
          "user_id": null,
          "user_id___name": null,
          "user_id___id": null,
          "roles_id": "user",
          "roles_id___id": "user",
          "table_name": ""
        }
      ],
      "total": 2
    },
    "tid": 1,
    "type": "rpc",
    "method": "Query",
    "action": "accesses"
  }
]

Примечание:

Возвращение первичного ключа в двух местах (user_id и user_id___id) обязательно, т. к.одно значение применяется для обработки (viewmodel), а другое для обработкив выпадающем списке (combobox)

Фильтрация

{
  "action": "accesses",
  "method": "Query",
  "data": [
    {
      "select": "id,allow,user_id,user_id___name,user_id___id,roles_id,roles_id___id,table_name",
      "page": 1,
      "start": 0,
      "limit": 25,
      "filter": [
        {
          "property": "user_id___name", // таким образом передается поле
          "value": "демо",
          "type": "string",
          "operator": "like"
        }
      ]
    }
  ],
  "type": "rpc",
  "tid": 2
}
Print Friendly, PDF & Email
Translate »