Condições e Junções

Filtros com conditions, colunas com fields e relacionamentos com joins.

conditions filtra os registros. joins traz tabelas relacionadas na mesma listagem.

No exemplo abaixo, a lista de chamados pede a categoria, a categoria pai, o solicitante e o atendente. O filtro fica no solicitante 1, entre 1 e 2 de fevereiro de 2023.

Parâmetros

let params = {
  joins: ["Categorias.parentCategorias", "Solicitantes", "Atendentes"],
  conditions: [
    {
      data_abertura: {
        gte: "2023-02-01",
        lte: "2023-02-02"
      },
      solicitante_id: 1
    }
  ]
};

$http.get("/api/chamados.json", params).success(successCallback);

Retorno

{
  "chamados": [
    {
      "data_abertura": "2023-02-01 14:15:00",
      "descricao": "Fazer manutenção preventiva em todos equipamentos do RH",
      "categoria": {
        "descricao": "Rotinas de Manutenção",
        "parent_categoria": {
          "descricao": "Tarefas Rotineiras"
        }
      },
      "solicitante": {
        "nome": "Danilo Contini"
      },
      "atendente": {
        "nome": "Lucas"
      }
    }
  ]
}

Comparação

OperadorDescriçãoUso
ltMenor que{data_abertura:{lt:'2023-02-01'}}
lteMenor ou igual{data_abertura:{lte:'2023-02-01'}}
gtMaior que{data_abertura:{gt:'2023-02-01'}}
gteMaior ou igual{data_abertura:{gte:'2023-02-01'}}
difDiferente de{categoria_id:{dif:10}}

Texto

O operador de texto procura um trecho dentro do campo.

OperadorDescriçãoUso
%texto%O campo contém o texto{descricao:'%texto%'}
%textoO campo termina com o texto{descricao:'%texto'}
texto%O campo começa com o texto{descricao:'texto%'}

Lista

O filtro de lista devolve o registro quando o campo está entre os valores informados.

UsoDescrição
{categoria_id:[1,2,3,4]}O campo numérico é 1, 2, 3 ou 4
{status:['A','B','C']}O campo textual é A, B ou C

Campos

fields devolve só as colunas informadas. Sem esse parâmetro, a listagem traz todas. Os nomes vão separados por vírgula.

Parâmetros

let params = {
  fields: "id,descricao"
};

$http.get("/api/chamados.json", params).success(successCallback);
/api/chamados.json?fields=id,descricao

Retorno

{
  "chamados": [
    {
      "id": 120,
      "descricao": "Fazer manutenção preventiva em todos equipamentos do RH"
    }
  ]
}

Vale nas listagens, como chamados, projetos, despesas e patrimônios. fields escolhe as colunas do recurso. joins continua trazendo os relacionamentos pedidos.