Lze z Nette\Database\Table\Selection zjistit sloupce?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Ot@s
 - Backer | 476
 
Z hlavy (chybí validace a ideálně celou fce. kešovat)
// v $this->database je Connection
function hasTableColumn($tblname, $colname) {
	$cols = $this->database->getSupplementalDriver()->getColumns($tblname);
	foreach ($cols as $c) if ($c['name']==$colname) return true;
	return false;
}
Edit: jako přidaná metoda nad Selection (netestováno)
Nette\Database\Table\Selection::extensionMethod('columnExist', function (Nette\Database\Table\Selection $sel, $colname) {
	$cols = $sel->getConnection()->getSupplementalDriver()->getColumns($sel->getName());
	foreach ($cols as $c) if ($c['name']==$colname) return true;
	return false;
});
					Editoval Ot@s (11. 10. 2012 13:53)

- Tomáš Jablonický
 - Člen | 115
 
Využíj výjimky. Tedy dotaž se na daný sloupec a v případě neexistence sloupce zachiť výjimku …