NDB Selection – select count z jine tabulky
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- abc
- Člen | 92
Zdravím,
omlouvám se za začátečnický dotaz, ale NDB skoro vůbec neznám a nějak se
mi nedaří přijít na správný přístup.
Potřebuju toto napsat pomocí Selection. Selection je potřeba, protože jí
potřebuju předat do Grida.
SELECT u.id, u.username, COUNT(c.id)
FROM user u
JOIN comment c ON c.user_id = u.id
WHERE c.date >= (DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
GROUP BY c.user_id
-- prostě počet komentářů u každého uživatele do datagridu
Zkouším pro začátek toto:
$this->connection
->table("user")
->where(":comment.date >= (DATE_SUB(CURDATE(), INTERVAL 6 MONTH))");
Ale končím na:
Nette\Database\Reflection\MissingReferenceException
No reference found for $user->comment.
Cizí klíč je na comments user_id → user(id). Na user pochopitelně není.
Je to cizí projekt na Nette 2.0.18 (přepisovat se to bohužel nevyplatí).
Díky
- David Matějka
- Moderator | 6445
Jestli si dobre vzpominam, tak v 2.0 byla syntaxe trosku jina:
->where("comment:date >= (DATE_SUB(CURDATE(), INTERVAL 6 MONTH))");
(vsimni si pozice te dvojtecky)