Oznámení
Duplicitni query ve fetchPairs
před 8 lety
- tomdawayhet
- Člen | 20
Zdravim vsetkych
V Nette frameworku volam jednoduchy query (fetchPairs)
a ukladam ho do premennej cez $this->pole = dibi::fetchPairs(…)
Ked som si zapol logger tak sa tento query stale vykona 2 krat … Vie mi niekto pomoc.
Vdaka za rady
před 8 lety
- Milo
- Nette Core | 1119
A logger sis zapnul jak? Ohaduji, že
$this->pole = dibi::fetchPairs(…)
spouštíš dvakrát.
před 8 lety
- tomdawayhet
- Člen | 20
Milo napsal(a):
A logger sis zapnul jak? Ohaduji, že
$this->pole = dibi::fetchPairs(…)
spouštíš dvakrát.
V BasePresenteri mam toto:
dibi::connect(NEnvironment::getConfig(‚database‘));
dibi::getProfiler()->setFile(WWW_DIR . ‚/log/log.sql‘);
dibi::getSubstitutes()->prefix = NEnvironment::getConfig(‚database‘)->prefix;
$this->tables = NEnvironment::getConfig(‚table‘);
$this->config = dibi::fetchPairs(‚SELECT [key], [value] FROM [config]‘);
A ked si pozriem log tak stale sa query vykona 2 krat…
Vdaka
před 8 lety
- David Grudl
- Nette Core | 6806
V nejnovější verzi dibi vypisuje profiler i řádky, na kterých bylo query voláno, třeba to pomůže.
před 8 lety
- Milo
- Nette Core | 1119
Zkus:
dibi::fetchPirs('SELECT 0, 1');
$this->config = dibi::fetchPairs('SELECT [key], [value] FROM [config]');
/*
Podle logu:
Chyba dibi
SELECT 0, 1;
SELECT 0, 1;
SELECT key, value FROM config;
SELECT key, value FROM config;
Tvuj kod se spousti 2x
SELECT 0, 1;
SELECT key, value FROM config;
SELECT 0, 1;
SELECT key, value FROM config;
*/
před 8 lety
- tomdawayhet
- Člen | 20
David Grudl napsal(a):
V nejnovější verzi dibi vypisuje profiler i řádky, na kterých bylo query voláno, třeba to pomůže.
Zdravim
Je to len tym ze najprv sa do logu zapise vygenerovana query a potom sa spusta alebo sa mylim ?
Vystup z logu profilera:
OK: SELECT config_key
, config_value
FROM
swapp_cms_configuration
;
– rows: 4
– takes: 0.286 ms
– driver: mysql/0
– 2011–02–18 23:32:53
OK: SELECT * FROM swapp_cms_languages
;
– rows: 9
– takes: 0.506 ms
– driver: mysql/0
– 2011–02–18 23:32:53
OK: SELECT config_key
, config_value
FROM
swapp_cms_configuration
;
– rows: 4
– takes: 0.193 ms
– driver: mysql/0
– 2011–02–18 23:32:53
OK: SELECT * FROM swapp_cms_languages
;
– rows: 9
– takes: 0.144 ms
– driver: mysql/0
– 2011–02–18 23:32:53
BasePresenter.php
abstract class BasePresenter extends NPresenter
{
protected $tables;
protected $config;
public function startup()
{
parent::startup();
dibi::connect(NEnvironment::getConfig(„database“));
dibi::getProfiler()->setFile(WWW_DIR . „/log/log.sql“);
dibi::getSubstitutes()->prefix =
NEnvironment::getConfig(‚database‘)->prefix;
$this->tables = NEnvironment::getConfig(„table“);
$this->config = dibi::fetchPairs(„
SELECT [config_key], [config_value]
FROM [:prefix:“ . $this->tables[„configuration“] . „]“);
$this->langs = dibi::fetchAll(„
SELECT *
FROM [:prefix:“ . $this->tables[„languages“] . „]“);
}
…
}
Dakujem za odpoved :)