Jet\DataModel_Query

Třída reprezentuje dotaz a to buď celý dotaz typu SELECT, nebo WHERE část dotazů UPDATE a DELETE - pro obě možnosti je třída společná, rozdíl je pouze v tom jak je použita.

Přehled metod

Metoda Význam
public static createQuery(
DataModel_Definition_Model $main_data_model_definition,
array $where=[]
) : DataModel_Query
Statická metoda vytvoří a přednastaví instanci reprezentující dotaz vázaný na určitou entitu.
public __construct(
DataModel_Definition_Model $main_data_model_definition
)
Konstruktor potřebuje znát definici entity, které se bude dotaz primárně týkat.
public getDataModelDefinition(
) : DataModel_Definition_Model
Vrací definici entity, které se bude dotaz primárně týkat.
public getSelect(
) : DataModel_Query_Select|null
Vrací instanci definice SELECT části dotazu.
public setSelect(
array $items
) : DataModel_Query|null
Nastaví SELECT část dotazu. Viz tvorba dotazů.
public getWhere(
) : DataModel_Query_Where|null
Vrací instanci definice WHERE části dotazu.
public setWhere(
array $where
) : DataModel_Query
Nastaví WHERE část dotazu. Viz tvorba dotazů.
public getHaving(
) : DataModel_Query_Having|null
Vrací instanci definice HAVING části dotazu.
public setHaving(
array $having
) : DataModel_Query
Nastaví HAVING část dotazu. Viz tvorba dotazů.
public getGroupBy(
) : DataModel_Query_GroupBy|null
Vrací instanci definice GROUP BY části dotazu.
public setGroupBy(
array|string $group_by
) : DataModel_Query
Nastaví GROUP BY část dotazu. Viz tvorba dotazů.
public getOrderBy(
) : DataModel_Query_OrderBy|null
Vrací instanci definice ORDER BY části dotazu.
public setOrderBy(
array|string $order_by
) : DataModel_Query
Nastaví ORDER BY část dotazu. Viz tvorba dotazů.
public setLimit(
int $limit,
?int $offset=null
) : DataModel_Query
Nastavuje limit a offset (volitelně) pro načtení dat. De facto zapíná stránkovací režim dotazů SELECT.
public getLimit(
) : int|null
Vrací nastavený limit pro čtení dat.
public getOffset(
) : int|null
Vrací nastavený offset pro čtení dat.
public getRelations(
) : DataModel_Definition_Relation[]
Vrací definice všech relací, které budou pro SELECT dotaz relevantní.
public addRelation(
string $name,
DataModel_Definition_Relation $relation
) : void
Přidává do definice dotazu relaci.
public setRelationJoinType(
string $related_data_model_name,
string $join_type
) : DataModel_Query
Nastavuje typ použité relace v dotazu typu SELECT.
public getRelation(
string $related_data_model_name
) : DataModel_Definition_Relation
Vrací definici relace na konkrétní entitu v rámci dotazu typu SELECT.
public getPropertyAndSetRelation(
string $property_name
) : DataModel_Definition_Property
Vrátí definici vlastnosti použité v dotazu a pokud se vlastnost netýká primární entity vázané na dotaz, tak najde a nastaví relaci na danou subentitu, nebo entitu vázanou vnější relací.
public setRawMode(
bool $raw_mode
): void
Definuje zda se má po načtení záznamů z databáze potlačit kontrola datových typů záznamů pomocí ORM. Pokud je hodnota true, tak jsou data navrácena tak jak je načetla databáze bez další transformace. Užitečné pro zpracování velkého množství dat.
public getRawMode(
): bool
Indikuje zda se má po načtení záznamů z databáze potlačit kontrola datových typů záznamů pomocí ORM. Pokud je hodnota true, tak jsou data navrácena tak jak je načetla databáze bez další transformace. Užitečné pro zpracování velkého množství dat.
public toString(
) : string
Definice je pomocí backendu převedena na reálný dotaz (textový řetězec) typu SELECT odpovídající danému typu databáze.
public __toString(
) : string
Definice je pomocí backendu převedena na reálný dotaz (textový řetězec) typu SELECT odpovídající danému typu databáze.
Předchozí kapitola
Jet\DataModel_PropertyFilter
Další kapitola
Jet\DataModel_Query_Select