Tovább a tartalomhoz

SQL/AI lekérdezés

Az SQL/AI lekérdezés beállításai: tábla, Join, Where, csoportosítás, számított oszlopok, rendezés, haladó és AI mód, számláló lekérdezés és az eredmény típusa.

Az SQL-táblákban tárolt adatok alapesetben csak adatbázis-kezelővel (például phpMyAdmin) érhetők el, a weboldalon nem. Az SQL/AI lekérdezés közvetlenül az adatbázis tábláiból kér le adatokat. Ezekből Listing sablon készíthető, és a Listing Grid megjeleníti őket.

A lekérdezést a JetEngine → Lekérdezéskészítő oldalon hozod létre, a Lekérdezés típusa listában az SQL/AI lekérdezés típussal. Az Általános beállítások blokk (név, leírás, egyéni lekérdezés-ID, gyorsítótár, REST API-végpont) minden típusnál ugyanaz, lásd a Lekérdezéskészítő áttekintését.

https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add
Az SQL/AI lekérdezés alapbeállításai

A kép alsó blokkja az Egyedi SQL-lekérdezés, a Haladó/AI mód kapcsolóval a tetején.

A Haladó/AI mód kikapcsolt állapotában beállításokkal állítod össze a lekérdezést. Bekapcsolva a beállítások alaphelyzetbe állnak, és az SQL-t kézzel írod, vagy AI-val generálod.

Beállítások a Haladó/AI mód nélkül

Szekció neve “Beállítások a Haladó/AI mód nélkül”
Beállítás Mit csinál
Táblából Az SQL-tábla, amelyből az adatok származnak.
Megjelenítés/oldalankénti korlát Hány elem látszik egyszerre. JetSmartFilters lapozással ez az oldalankénti elemszám.
Teljes lekérdezési korlát A lekérdezésben szereplő elemek legnagyobb száma. Ezt mutatja a Query Results Count dinamikus címke. Lapozásnál ez az elemek összesített maximuma.
Eltolás Az elejéről kihagyott elemek száma. Csak a teljes lekérdezési korláttal együtt működik; korlátlan eredményhez eltolással adj meg nagyon nagy számot a teljes lekérdezési korlátnál.
Oszlopok bevonása Mely oszlopok kerüljenek az eredménybe. Üresen hagyva az összes.
Set Column Aliases Álneveket adhatsz egyes oszlopoknak. Ne használj létező oszlopnevet, mert az felülírja az eredeti értéket.
Oszlopok szűrőkhöz A JetSmartFilters szűréséhez elérhető oszlopok listája. Az oszlop szerinti szűréshez másold ki az oszlop nevét, és illeszd be a kiválasztott szűrő Query Variable mezőjébe.
Eredmény típuskényszerítése objektumpéldányra Az eredmény típusa (lásd lent).

A Join használata kapcsoló bekapcsolja az SQL-összekapcsolásokat. Az ismétlő elemben megadható:

  • Join típusa: Inner Join (alapértelmezett, ha nem választasz), Left Join, Right Join vagy Outer Join.
  • Join tábla: az a tábla, amelyből további adatokat fűzöl hozzá.
  • Amikor az aktuális tábla oszlopa: az alap tábla oszlopa, amely alapján párosítasz.
  • Egyenlő a másik tábla oszlopával: a hozzáfűzött tábla megfelelő oszlopa. Ennek az értékeinek meg kell egyezniük a fenti oszlop értékeivel.

A Where (lekérdezési záradékok) blokkban az Új hozzáadása gombbal adsz hozzá feltételt: az Oszlop listában kiválasztod az adatbázis-oszlopot, megadod az összehasonlítást, az értéket és a típust. Az összehasonlító műveletek, az adattípusok és az üres dinamikus érték kihagyása a többi típussal azonos: lásd az összehasonlító műveletekről és adattípusokról szóló fejezetet. Az Érték melletti adatbázis-ikon a makrók listáját nyitja. Az Új csoport hozzáadása gombbal ÉS/VAGY csoportot is felveszel, ennek menetéről a csoportos feltételek fejezete szól. Az SQL Where feltételben az „Exist/Not exist” műveletek az adott oszlop meglétét vizsgálják.

Eredmények csoportosítása és számított oszlopok

Szekció neve “Eredmények csoportosítása és számított oszlopok”

Az Eredmények csoportosítása kapcsoló az ismétlődő értékű sorokat összevonja egy oszlop szerint: bekapcsolva megjelenik a Group By lista, itt választod ki a csoportosító oszlopot. A Számított oszlopok bevonása kapcsoló számított oszlopokat ad hozzá. A beállítás részletes leírása: Számított oszlopok és csoportosítás az SQL-lekérdezésben.

Az Új rendezési paraméter hozzáadása gombbal egy vagy több rendezési feltételt adsz meg. Mindegyiknél választasz Rendezés alapja oszlopot, Rendelés irányt (növekvő vagy csökkenő) és Típust (ugyanazok a típusok, mint a Where-nél).

Bekapcsolva ezek a mezők állnak rendelkezésre:

  • SQL-lekérdezés: szövegmező, amelybe az SQL-t kézzel írod. A JetEngine makrói itt is használhatók. Az SQL-ben az adatbázis táblaelőtagját is meg kell adni (a wp-config.php fájlban van). Egyszerűbb a {prefix} helyőrző a táblanév előtt, amit a rendszer a valódi előtagra cserél, például: SELECT * FROM {prefix}posts.
  • AI-generálás: a varázspálca ikonra kattintva felugró ablak nyílik, ahol a kérésedet szövegben leírod. Az ablakban tippeket és kattintható példákat találsz; a példára kattintva a generált lekérdezés bekerül az SQL-lekérdezés mezőbe. Az AI-kérések száma havonta korlátozott (az élettartamú csomagnál havonta 60, más csomagnál havonta 5 kérés).
  • Count SQL Query: opcionális, a találatok teljes számát kiszámító lekérdezés. Összetett lekérdezéseknél a helyes JetSmartFilters-lapozáshoz szükséges. Ha nem adod meg, a teljes szám a fő lekérdezés eredményéből adódik.

Az AI-val generált lekérdezések példáit lásd az SQL-lekérdezés generálása AI-val fejezetben.

Ha az egyszerű módban már megadtál beállításokat (például Where feltételt), majd bekapcsolod a Haladó/AI módot, a beállításokból generált SQL bekerül az SQL-lekérdezés mezőbe, ha az üres. Ha a mezőben már van szöveg, az változatlan marad.

Eredmény típuskényszerítése objektumpéldányra

Szekció neve “Eredmény típuskényszerítése objektumpéldányra”

Ez a lista mindkét módban elérhető, és az eredmény kezelését szabja meg:

Opció Mit csinál
stdClass meghagyása Az eredmény egyszerű PHP-objektum (stdClass), átalakítás nélkül.
stdClass meghagyása, tulajdonságok deszerializálása Az eredmény stdClass, de a szerializált tulajdonságokat automatikusan tömbbé vagy objektummá alakítja.
Post Minden találat WP_Post objektum lesz.
User WP_User objektumok.
Taxonomy Term WP_Term objektumok.
Comment WP_Comment objektumok.
Booking Foglalási objektumok (ha a JetBooking telepítve és aktív). Foglalási sablonokhoz és szűrőkhöz hasznos.
WC Product WooCommerce-termékobjektumok (WooCommerce szükséges), ár, cikkszám stb. megjelenítéséhez.

A haladó SQL-makrók alapesetben védettek. Csak akkor kapcsold ki ezt a védelmet, ha tényleg nyers makrókimenetre van szükséged, és te ellenőrzöd, milyen értékeket adhatnak a makrók. Kérés vagy felhasználó által megadott, nem megbízható makróértékkel ne használd. A felület a régi viselkedés visszaállításához mutat egy PHP-részletet (a jet-engine/macros/macros-result szűrő), ezt a beállítóoldalon, a lekérdezés alján találod.

A lekérdezés mellé Listing sablon készítéséhez lásd a Listázás fejezetet.

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