Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před rokem

Blizzy
Člen
Registrovaný: 22. 2. 2008
Příspěvky: 185

BUG v substitucích, asi někde probíhá cache

Následující kód:

$connection = dibi::connect(Environment::getConfig('database'));

dibi::addSubst('id', 'A.id');
dump($connection->translate('[:id:]'));
dibi::removeSubst('id');

dibi::addSubst('id', 'B.id');
dump($connection->translate('[:id:]'));

vypíše:

"`A`.`id`" (8)
"`A`.`id`" (8)

očekávaný výstup je:

"`A`.`id`" (8)
"`B`.`id`" (8)

Verze: 1.3-dev 8dc164d released on 2010-08-05

Snad tohle pomůže: U toho translate dělají problém hranaté závorky, samotné ':id:' se překládá správně (tedy substituuje se za A i za B), problém je s identifikátorem, tj. '[:id:]'.

Bude to asi tím, že se cachují identifikátory jako třída DibiLazyStorage a identifikátor se substitucí tam přetrvá i když se substituce změní.

EDIT:
Issue na githubu: http://github.com/…/dibi/issues#…

Editoval Blizzy (20. 8. 2010 12:44)

 

Zápatí