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. |