Nette\Database\Selection – vzdy robi SELECT * FROM tabulka

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

Ahojte,
chcem sa opytat, kde robim chybu, ked mi stale Tracy ukazuje, ze query su SELECT * FROM users namiesto SELECT id, meno FROM users. Cache je v poriadku, tam problem (asi) nie je – teda da sa zapisovat do adresara temp/cache. Ako databazu nepouzivam MySQL, ale MS SQL (2012).

Priklad, kedy tracy ukazuje SELECT * FROM users: (ale robit to pri vsetkych dotazoch, pokial manualne nenapisem metodu ->select('stlpec1, stlpec2, ...').

Model:

<?php
    // usersRepository
	public function getUserFullNames()
    {
        return $this->table('users')->fetchPairs('id', 'meno');
    }
?>

Presenter:

<?php
	public function createComponentFilterForm()
    {
        $form = new Form; // Nette\Application\UI\Form
        $form->addSelect('priradene', 'Priradené', $this->usersRepository->getUserFullNames())->setPrompt('všetky');
        $form->addSubmit('submit', 'filter');
        return $form;
    }
?>

Velmi pekne dakujem za pomoc!

Felix
Nette Core | 1270
+
0
-

Tohle vetsinou dela pri prvnim dotazu, po refreshnuti uz pouzije jenom ty co se skutecne vyuzily.