Nette debug bar, jak přidat databázi?
- PetrHH
- Člen | 49
Dobrý den,
ve svém projektu používám několik částí Nette (NetteDatabase, Laděnka, Latte, Formulaře). DebugBar se mi správně zobrazuje, ale bohužel v něm chybí ta část s explain dotazů, které dotazy se provedly atd. Kdysi to fungovalo samo, ale bylo ještě někdy v Nette 2.0 devel.
Nevíte, prosím, jak to tam dostat?
Děkuji!
Petr
- vvoody
- Člen | 910
/**
* @return Nette\Database\Connection
*/
public function createServiceNette__database__default()
{
$service = new Nette\Database\Connection('mysql:host=127.0.0.1;dbname=foo', 'root', NULL, array('lazy' => TRUE));
Nette\Diagnostics\Debugger::getBlueScreen()->addPanel('Nette\\Database\\Diagnostics\\ConnectionPanel::renderException');
Nette\Database\Helpers::createDebugPanel($service, TRUE, 'default');
return $service;
}
- NiNu
- Člen | 31
HappyFace napsal(a):
chcel by som sa len opitat ako toto zapnej v nette 2.0? ladenka bezi ale ziaden dotaz tam nieje vidiet :(
Mne sa to podarilo nastavit v config.neon pridanim nasledovneho:
common:
parameters:
database:
driver: mysql
host: localhost
dbname: my_db
user: username
password: password
nette:
database:
default:
dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
user: %database.user%
password: %database.password%
debugger: true
- HappyFace
- Člen | 162
NiNu napsal(a):
HappyFace napsal(a):
chcel by som sa len opitat ako toto zapnej v nette 2.0? ladenka bezi ale ziaden dotaz tam nieje vidiet :(
Mne sa to podarilo nastavit v config.neon pridanim nasledovneho:
\--
dakujem takto som to skusal a nepomohlo, ja vidim problem v tom ze tie DB
volam dynamicky v specialnej triede ktora sa stara o pripojenie na databazu,
kde moj zapis vypada takmer totozne s prikladom co je vyssie lenze v2.0.*
neobsahuje methody ako: getBlueScreen a createDebugPanel vedel by mi niekto to
prepisat alebo poradit ako to prepisat?
-->
ok tak sa mi to podarili pri trochu dedukcii :)
pridavam svoje riesene ak by niekto potreboval a poprosil by som vas nazor ci je
to spravene spravne :)
$panel = new \Nette\Database\Diagnostics\ConnectionPanel;
\Nette\Diagnostics\Debugger::$bar->addPanel($panel);
$connection->onQuery[] = function (\Nette\Database\Statement $statement, $params = array()) use ($panel)
{
$panel->logQuery($statement, $params);
};
Editoval HappyFace (14. 1. 2014 9:23)