Vytvoření dotazu do databáze z prezenteru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Spectator
Člen | 48
+
0
-

Dobrý den,
snažím se vytvořit dotaz z prezenteru, ale stále mi to vyhazuje vyjímku Nette\NotSupportedException a ukazuje na řádek s ->table(‚nazev_tabulky‘)

V config.neon mám

	nette:
		database:
			dsn: 'mysql:host=localhost;dbname=spectator_cz'
			user: root
			password:

dále jsem si do BasePresenter vložil připojení k db

$this->db = $this->context->nette->database;

a dále provádím dotaz
$this->db->table(‚uzivatele‘)

To mi vyhazuje onu chybu. Dělám něco špatně nebo při čem se tato chyba stává?

Pokud pracuji s DB v modelu, tak je vše v pořádku.

Děkuji za pomoc

enumag
Člen | 2118
+
0
-

Text té výjimky?

Spectator
Člen | 48
+
0
-

Nette\NotSupportedException

Text žádný není. Sedím tu nad tím už dlouho a začínám toho mít plné zuby. Dle mne je vše v pořádku.

enumag
Člen | 2118
+
0
-

Fajn tak alespoň soubor a řádek kde to tu výjimku reálně vyhazuje (rozklikni Source file v laděnce). Jo a verzi PHP a Nette.

Editoval enumag (13. 1. 2013 16:10)

Spectator
Člen | 48
+
0
-
Source file ▼

File: ...\libs\Nette\DI\NestedAccessor.php   Line: 57

47:         * @return object
48:         */
49:        public function __call($name, $args)
50:        {
51:            if (substr($name, 0, 6) === 'create') {
52:                return call_user_func_array(array(
53:                    $this->container,
54:                    Container::getMethodName($this->namespace . substr($name, 6), FALSE)
55:                ), $args);
56:            }
57:            throw new Nette\NotSupportedException;
58:        }
59:
60:
61:
Call stack ▼

...\app\presenters\DashboardPresenter.php:28	 source ▼  Nette\DI\NestedAccessor->	 __call (arguments ▼)

$name
"table" (5)
$args
array(1) ▼ [
   0 => "sbd_uzivatel" (12)
]
18:        }
19:
20:
21:
22:        /********************* view default *********************/
23:
24:
25:
26:        public function renderDefault()
27:        {
28:            var_dump($this->db->table('sbd_uzivatel'));exit;
enumag
Člen | 2118
+
0
-

Hups, co tohle?

$this->db = $this->context->nette->database->default;

Mimochodem tenhle zápis je deprecated hned z několika důvodů (context a používání NestedAccessor).

Spectator
Člen | 48
+
0
-

PHP 5.3.9
Nette 2.0.8

Spectator
Člen | 48
+
0
-

Jeej, jak teda nahodit připojení? Narazil jsem na hromadu způsobů a dost se v tom ztrácim.

enumag
Člen | 2118
+
0
-

Zkus quickstart.

castamir
Člen | 629
+
0
-

Správnej link: quickstart