Mesour DataGrid v3 – nette source
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jake
- Člen | 3
Ahoj, s Nette teprve začínám, takže mám asi pro vás hloupý dotaz. Ale
snažím se zprovoznit nový mesour datagrid, který bude načítat data
z databáze, nedaří se mi to. Připojení mám z examples nette-source ale
u připojení mi to píše chybu SQLSTATE[08004] [1040] Too many
connections
můj kód vypadá takhle:
protected function createComponentUserDataGrid($name){
$connection = new Nette\Database\Connection('mysql:host=127.0.0.1;dbname=admin', 'root', '');
$cacheMemoryStorage = new \Nette\Caching\Storages\MemoryStorage;
$structure = new \Nette\Database\Structure($connection, $cacheMemoryStorage);
$conventions = new \Nette\Database\Conventions\DiscoveredConventions($structure);
$context = new \Nette\Database\Context($connection, $structure, $conventions, $cacheMemoryStorage);
$selection = $context->table('users');
$source = new \Mesour\DataGrid\Sources\NetteDbGridSource(
'users',
'id',
$selection,
$context);
$dataStrucutre = $source->getDataStructure();
$this['userDataGrid']->setSource($source);
$this['userDataGrid']->create();
$grid = new UserDataGridControl($this, $name);
return $grid;
}
Prosím o pomoc. Děkuji
- David Matějka
- Moderator | 6445
Ahoj, prvne se koukni, jak pouzivat DI. Connection a ostatni veci nevytvarej rucne, nakonfiguruj to v configu a Context si vyzadej pres DI https://doc.nette.org/…dependencies
a too many connections – to spise souvisi s nastavenim mysql, koukni sem http://dev.mysql.com/…ections.html