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
+
0
-

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
+
+1
-

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)

abc
Člen | 92
+
0
-

Super, děkuju!