Nette 2.1 left join dotaz
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- motorcb
- Člen | 552
Zdravim.
Mám následující databázi:
CREATE TABLE IF NOT EXISTS `match` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL,
`calculated` int(1) NOT NULL DEFAULT '0',
`entered_result_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `tip` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`match_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `match_id` (`match_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;
ALTER TABLE `tip` ADD CONSTRAINT `tip_ibfk_2` FOREIGN KEY (`match_id`) REFERENCES `match` (`id`);
Tabulku utkání a tabulku tipů na utkání (1:N).
Jak přes Nette/Database spočítám všechny zadaná utkání od zadaného
data, které tipoval zvolený uživatel?
V Nette 2.0.10 mi fungoval tento dotaz:
$this->getTable()->where( array( "calculated" => 1, "entered_result_date >= ?" => $date, "tip.user_id" => 11 ) )->count();
Nette 2.1 dev hlásí chybu: No reference found for $match->tip
Jakto?
Děkuji za rady