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.
Adattípusok és műveletek
Szekció neve “Adattípusok és műveletek”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.
Előkészítés
Szekció neve “Előkészítés”- A JetEngine → REST API-végpontok fülön vedd fel a másik oldal CCT-elemeket adó végpontját.
- 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.
- Kapcsold be az Eredmények előnézete kapcsolót, hogy az eredmény azonnal látsszon jobbra.
- 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).
Példák
Szekció neve “Példák”Egész szám
Szekció neve “Egész szám”[{"field":"f2","operator":"=","value":"12","type":"INTEGER"}]Az f2 mezőben 12-t tartalmazó elemeket adja vissza.
Tört szám
Szekció neve “Tört szám”[{"field":"num2","operator":">","value":"67.50","type":"FLOATING"}]A 67,50-nél nagyobb értékű elemeket adja vissza.
Szöveg
Szekció neve “Szöveg”[{"field":"cct_status","operator":"=","value":"publish","type":"CHAR"}]A „publish” állapotú elemeket adja vissza.
Jelölőnégyzet (checkbox) mező
Szekció neve “Jelölőnégyzet (checkbox) mező”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"} }]Dátum
Szekció neve “Dátum”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.
Időbélyeg
Szekció neve “Időbélyeg”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: