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
+
0
-

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
+
+1
-

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