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
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!