Condições e Junções

FAMOSOS WHERE E JOINS TABLE

Nossa API conta com parâmetros conditions e joins no qual facilita a junção de tabelas relacionadas na requisições de listagem.

Vamos a um exemplo bem prático de junções(joins) e condições(conditions), em um cenário que você tem uma lista de chamados e quer trazer a categoria, categoria pai, solicitante e oatendente vinculado a esse chamado do solicitante Danilo num período de 2 dias.

let params = {
  joins:['Categorias.parentCategorias','Solicitantes','Atendentes'],
  conditions:[
    {
  		data_abertura:{
        gte:'2023-02-02',
        lte:'2023-02-01'
      },
      solicitante_id:1
    }
  ]
};
$http.get('/api/chamados.json', params).success(successCallback);
{
   "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"
         }
      }
   ]
}

Operadores de comparação (>=, <=, <, >, !=)

Os operadores de comparação testam se duas expressões são iguais. Os operadores de comparação podem ser usados em quase todas as expressões.

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

Operador de pesquisa (LIKE)

O operador LIKE é utilizado para buscar por uma determinada string dentro de um campo com valores textuais. Com ele podemos, por exemplo, buscar os registros cujo NOME inicia com uma determinada palavra, ou contém um certo texto.

OperadorDescriçãoUso
%texto%Serão retornados os registros que contêm no campo buscado o "texto" informado{descricao:'%texto%'}
%textoSerão retornados os registros cujo valor do campo filtrado termina com o "texto" informado.{descricao:'%texto'}
texto%Serão retornados os registros cujo valor do campo filtrado começa com o "texto" informado.{descricao:'texto%'}

Operador de filtro por lista (IN)

O operador IN é utilizado quando desejamos consultar uma tabela, filtrando o valor de um de seus campos a partir de uma lista e possibilidades.

OperadorDescriçãoUso
[1,2,3,4]Serão retornados os registros que contêm no campo informado o valor numérico 1, 2, 3 e 4.{categoria_id:[1,2,3,4]}
['A,'B','C']Serão retornados os registros que contêm no campo informado a string A, B e C.{status:['A','B','C']}