Nette\Database jak aplikovat limit na related uz v sql?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jtousek
- Člen | 951
To už z podstaty věci nelze. Ten limit(2) totiž znamená vyber 2 řádky z dané related skupiny, takže potřebuješ 2 řádky s author_id=1 a 2 řádky s author_id=2. Právě vybírání N prvků z každé skupiny je jedna z nejslabších stránek SQL (afaik) a řešení jsou vesměs poměrně složitá.
Alternativou je spustit dotazy samostatně pro author_id=1 a 2, ale to zase budeš mít dva dotazy místo jednoho. Zda by to bylo efektivnější nebo ne těžko říct, zřejmě to bude případ od případu jiné. Tak jako tak, Nette\Database se snaží minimalizovat počet dotazů, proto se chová takto.