Tovább a tartalomhoz

REST API-elemek lekérdezése adattípusok és műveletek szerint

CCT-végpont elemeinek szűrése a REST API lekérdezés _filters kulcsával: egész, tört, szöveg, jelölőnégyzet, dátum és időbélyeg.

Ez a fejezet azt írja le, hogyan kérdezheted le egy másik oldal egyéni tartalomtípus (CCT) végpontjának elemeit különböző mezőtípusok szerint a REST API lekérdezés típussal. Feltétel: JetEngine egy létrehozott CCT-végponttal.

A feltételekben az adattípust és a műveletet is meg kell adnod, hogy az érték szükség esetén átalakuljon, és az adatbázis-lekérdezésben a megadott típusúra legyen kényszerítve.

Átalakítás nélküli típusok:

  • integer: egész szám;
  • float: tizedesjegyes szám;
  • char: szöveg.

Átalakítással:

  • timestamp: a Unix-korszaktól (1970. január 1., UTC) eltelt másodpercek. A beírt értéket UNIX-időbélyegre alakítja, például a „13.07.2023” értékből 1689199200 lesz; a „today” a mai nap időbélyege.
  • date: MySQL DATETIME formátumú dátum; a „13.07.2023” értékből „13.07.2023 00:00:00” lesz.

Műveletek: Equal, Not equal, Greater than, Greater or equal, Less than, Equal or less, Like, Not like, In, Not in, Between, Not between.

  1. A JetEngine → REST API-végpontok fülön vedd fel a másik oldal CCT-elemeket adó végpontját.
  2. A JetEngine → Lekérdezéskészítő → Új hozzáadása oldalon a típus legyen REST API lekérdezés, és a From Endpoint listában válaszd ki a végpontot.
  3. Kapcsold be az Eredmények előnézete kapcsolót, hogy az eredmény azonnal látsszon jobbra.
  4. Vegyél fel egy új elemet a lekérdezésben, és a Key legyen _filters. A CCT végpontja ezt a paramétert használja az elemek szűrésére.

A Value mezőbe JSON kerül, feltételek listája: field (mező), operator (művelet), value (érték), type (típus).

[{"field":"f2","operator":"=","value":"12","type":"INTEGER"}]

Az f2 mezőben 12-t tartalmazó elemeket adja vissza.

[{"field":"num2","operator":">","value":"67.50","type":"FLOATING"}]

A 67,50-nél nagyobb értékű elemeket adja vissza.

[{"field":"cct_status","operator":"=","value":"publish","type":"CHAR"}]

A „publish” állapotú elemeket adja vissza.

A jelölőnégyzet az adatbázisban sorosított tömbként tárolódik, ezért a típus CHAR. A példamező (check1) két opciója: „one” és „two”.

Legalább a „one” legyen bejelölve (a másik is lehet):

[{"field":"check1","operator":"LIKE","value":"one","type":"CHAR"}]

Csak a „one” legyen bejelölve:

[{"field":"check1","operator":"REGEXP","value":"a:1:.*one","type":"CHAR"}]

Mindkét opció legyen bejelölve (ÉS kapcsolat):

[{"field":"check1","operator":"LIKE","value":"one","type":"CHAR"},
{"field":"check1","operator":"LIKE","value":"two","type":"CHAR"}]

Legalább az egyik teljesüljön (VAGY kapcsolat, több mezőre is):

[
{ "relation":"OR",
"0":{"field":"f2","operator":"=","value":"12","type":"CHAR"},
"1":{"field":"f1","operator":"=","value":"1","type":"CHAR"}
}
]

VAGY és ÉS együtt: vagy a „one” legyen bejelölve, vagy mindkettő:

[
{
"relation":"OR",
"0" : {
"relation" : "AND",
"0" : {"field" : "check1", "operator" : "LIKE", "value" : "one", "type" : "CHAR"},
"1" : {"field" : "check1", "operator" : "LIKE", "value" : "two", "type" : "CHAR"}
},
"1" : {"field" : "check1", "operator" : "LIKE", "value" : "one", "type" : "CHAR"}
}
]

A cct_created mező dátumformátumban tárolja a létrehozás idejét:

[{"field":"cct_created","operator":"BETWEEN","value":"2023-01-01,2023-04-22","type":"DATE"}]

A két dátum közötti elemeket adja vissza.

Ha a mező (például date1) időbélyegként tárolja a dátumot, a TIMESTAMP típust használd. A mai napon vagy később lévő elemekhez:

[{"field":"date1","operator":">=","value":"today","type":"TIMESTAMP"}]

A „today” helyett más relatív dátum- és időkifejezést is használhatsz (például „+1 week”, „tomorrow”), a PHP relatív dátumformátumai szerint.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások