Po přidání return hodnoty je parametr funkce undefined

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
kikinet
Člen | 35
+
0
-

EDIT: Omlouvám se za zmatek, moje chyba. Funkce byla volána ze dvou souborů, přičemž v jednom chyběly hodnoty fomuláře.

Ahoj,

mám funkci, která mi z db vytáhne všechny údaje o uživateli, kterého chci updatovat. Bohužel, pořád ji nějak nemůžu rozchodit.
Pěkně od začátku: Mám jednoduchý formulář se dvěma imputy – username, email. Hodnoty z formuláře se vrací jako objekt ( [username] => nekdo [email] => neco ). Tento objekt (hodnoty po odeslání formuláře) je v proměnné $values předáván do funckce getData(), která vypadá takto:

public function getData($values)
	{
		if ($values['username'] != ""){
			$user_data = $this->database->table(self::USERS_TABLE_NAME)->where(self::USERS_NAME, $values['username'])->fetch();
		} else if ($values['email'] != "") {
			$user_data = $this->database->table(self::USERS_TABLE_NAME)->where(self::USERS_EMAIL, $values['email'])->fetch();
		}

		return $user_data;
	}

Tento kód ale vyhodí hlášku Cannot read an undeclared column 'username'.
Stejně tak jsem místo $values['username'] zkoušela $values->username což vede ke stejné chybové hlášce.

Pokud změním řádek return $user_data; na print_r($user_data); objeví chybová hláška: Undefined variable: user_data, což znamená, že kód neprošel ani jednou podmínkou… Což je blbost pokud položky vyplním (je povinné vyplnit alespoň jedno pole).

Kde dělám chybu?

Editoval kikinet (10. 3. 2015 23:25)