- Aplikace
- Databáze
- Šablony
- Formuláře
- Knihovny
- Návody
DbStructure
Tato třída poskytuje přístup k informacím o tabulce, o jejích sloupcích, apod. Její data jsou cachovaná, takže rozhodně nezatěžuje databázi. Této třídy využívá DbTable.
Třída DbStructure pracuje vždy s posledním aktivním spojením. Mj. je také využívána třídou DbTable, která např. sestavuje formuláře. Proto pokud používáte více spojení dbejte na to, jaké spojení je zrovna aktivní!
Definice modifikátorů pro sloupce tabulky
V této třídě jsou definovány modifikátory pro jasné escapování
jednotlivých typů sloupců v SQL. Jednotlivé vztahy jsou definovány ve
veřejné statické proměnné $modificators. Její úpravou
můžete změnit funkčnost frameworku, případně ji rozšířit. Může se
stát, že totiž chybí definice pro vámi používaný typ sloupce. Není pak
nic jednoduššího, než si jeho podporu přidat.
DbStructure::$modificators['bpchar'] = Db::TEXT;
Seznam jednotlivých modifikátorů, které můžete přiřadit sloupci najdete u manuálů databáze.
Metoda getModificator
Pomocí této metody můžete získat potřebný modifikátor pro kterýkoliv sloupec v tabulce. Metodě předáte jméno tabulky a sloupce, či jejich sql verze spojenou tečkou.
$mod = DbStructure::getModificator('table', 'column');
# alternativně
$mod = DbStructure::getModificator('table.column');
Metoda vrací jméno modifikátoru včetně %.
Metoda getPrimaryKey
Metodou getPrimaryKey zjistíte jméno prvního sloupce, který
je definován jako primární. Jako jediný parametr předáváte jméno
tabulky.
$column = DbStructure::getPrimaryKey('table');
Metoda getCols
Metoda getCols vrací pole se jmény sloupců, které obsahuje
požadovaná tabulka.
$cols = DbStructure::getCols('table');
Metoda tableExists
Pomocí metody tableExists zjistíte, zda daná tabulka
v databázi existuje.
if (DbStructure::tableExists('table')) {
...
