where(„NOT id“, $table->where(…)->…) vrátí prázdný výsledek, pokud výsledek poddotazu je nic
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Krab
- Člen | 10
Když použiji $table->where(„NOT field“, $table->where…) tak pokud ten subdotaz vrátí prázdný výsledek, tak i ten hlavní dotaz vrátí prázdný výsledek, přestože by měl vracet jakoby všechno.
Když jsem to testoval, tak je to protože ten prazdný subdotaz se přeloží v nette na NULL a mysql pri NOT IN (NULL) vrací prostě nic, místo všeho.
Bylo by dobrý, kdyby ta metoda where věděla o tom, že se ji předává ten selection objekt a při prázdným výsledku vrátila třeba "", pak už mysql NOT IN ("") pobere
Editoval Krab (4. 12. 2013 17:29)