Model podmínka (if „něco jsem tam našel“)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- simPod
- Člen | 383
Pokusil jsem se udelat v modulu podminku pomoci
if ($this->connection->table('subscription')->where('email', $email)->where('activated', 0)) {
...
}
tzn. pokud najde neco kde se email rovna $email a activated se rovna 0. Bohuzel to zrejme vzdy vrati TRUE, at uz tento dotaz na databazi najde cokoliv
Co delam spatne? Diky
- nanuqcz
- Člen | 822
Metoda where()
totiž v základu vrací Nette\Database\Table\Selection,
na výsledky z databáze se to převádí automaticky, až když to použiješ
v cyklu foreach (díky implementaci rozhraní Iterator
). Pokud
chceš výsledky natahat ručně, slouží k tomu
metoda fetch()
if ($this->connection->table('subscription')->where('email', $email)->where('activated', 0)->fetch()) {
...
}
V tvojem případě ale bude možná hezčí použít
count()
if ($this->connection->table('subscription')->where('email', $email)->where('activated', 0)->count()) {
...
}
Více kdyžtak v dokumentaci, nebo v API