Oznámení
Je mozne nejak ziskat vypis SQL history → resp. jak to resite?
před 8 lety
- ras
- Člen | 127
Ahoj vsem,
s dibi zacinam … a API a na foru jsem nedohledal (snad jsem neprehledl), takze bych se chtel zeptat, jak poresit logovani cinnosti aplikace, tj. jak si zapisujete LOG toho, co se s aplikaci, resp. DB, delo?
Diky za tipy.
Radek
před 8 lety
- ras
- Člen | 127
MILO … ahoj, to jsem videl a i zkousel, ale nejak jsem nedokazal presvedsit DibiFluent → vzdy mi to tam haze, ze $sql je nedefinovana promenna
Pouzivam Nette s DI, tj. Dibi nepouzivam staticky, ale jako service, tj. jak na to v teto kombinaci, kdy neni mozne pouzit dibi::$sql ?
před 8 lety
- HosipLan
- Moderator | 4693
Ale je. Fakt :)
před 8 lety
- ras
- Člen | 127
Nojo, tak jo … nevim proc jsem nabyl dojmu, ze to staticke volani neni mozne … diky za nakopnuti HosipLane
před 7 lety
- mkoula
- Generous Backer | 32
Reakce po nějaké době. Dneska jsem si nahodil dibi 2.0.1 a dibi::$sql mi nefunguje? Nějaký nápad? Předchozí 1.5 fungovala. SQL se provedou, data z nich dostanu, ale nedokážu dostat finální SQL podobu dotazu…
před 7 lety
- mkoula
- Generous Backer | 32
Díky. Z mého pohledu se zde děje princip. Pokud to jde složitě nebudeme to dělat jednoduše.
Sice jde použít metody test, která vám dotaz vypíše, ale… Jde logovat do souboru, ale všechno… Jde napsat vlastní callback, ale ten zase bere všechno. Dostanete se tedy, že si budete psát vlastní callback funkci/třídu, kde budete složitě řešit, aby jste se dostali k dotazu na daném místě, kde chcete. A hlavně, budete psát něco co by dle mě měl DB layer řešit.
Dřív jste napsali staticky echo dibi::$sql;, což nebylo pro OOP košer, v Nette změnu nepocítíte, ale při psaní jednodušších věcí, cronů atp., toto bylo naprosto ideální…
před 7 lety
- Milo
- Nette Core | 1119
Pokud Ti to přijde jako bug, můžeš to nahlásit na GitHub.
dibi::$sql
stále funguje, musíš mít ale alespoň jeden
onEvent
callback. Takže stačí:
$db = new DibiConnection($dbConfig);
$db->onEvent[] = function (){};
$db->query('SELECT 1');
var_dump(dibi::$sql);