Trying to get property of non-object

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

Ahojte,
mám jednoduchú tabulku ktorá loguje meno užívatela, spoločnosť a zároveň koľko krát stlaćil tlačítko HĽADAŤ ( a par dalsich detailov) skúšam napísať jednoduchý select z databázy ktorý mi spočíta počet vyhľadavani pre spoločnosť.

Inak povedané, ak tabulka vyzera nejako takto:

user  | company | query
user1 |    1    |  55
user2 |    2    |  33
user3 |    1    |  15

Výsledok by mal byť:
1 = 70
2 = 15

Model:

	function getAllCompanyStatistics()
	{
		return $this->db->fetchPairs('SELECT company, SUM(query) FROM users GROUP BY company');
	}

Presenter:

	public function renderDefault()
	{
		$this->template->companys = $this->facade->getAllCompanyStatistics();
	}

Template:

						  	<tr n:foreach="$companys as $company">
						  		<td>{$company->company}</td>
						  		<td class="center">{$company->query}</td>

						  	</tr>

Z môjho lajického pohľadu vyzerá všetko OK ale evidetne sa pletiem, vedel by mi niekto poradiť kde robím chybu?

Chyba je hlásena na <td><?php echo Latte\Runtime\Filters::escapeHtml($company->company, ENT_NOQUOTES) ?></td>

Editoval Andurit (27. 2. 2015 14:36)

David Matějka
Moderator | 6445
+
+1
-

Sam pises, ze vysledek by mel byt

1 = 70
2 = 15

tak nemuze fungovat objektovy pristup. Zkus si dumpnout „companys“ (btw, companies je spravne) a uvidis

Andurit
Člen | 131
+
0
-

Má to svoju logiku, ked si to dumpnem tak vidim, že je to napisane spravne otazka je ako to prezentovat? Nakoľko neviem koľko bude companies tak nemozem pisat nieco ako

						  	<tr n:foreach="$companies as $company">
						  		<td>{$company[0]}</td>

Nejaká rada?

Editoval Andurit (27. 2. 2015 15:36)

Andurit
Člen | 131
+
0
-

Vyriešené, ďakujem za pomoc

<tr n:foreach="$companies as $company_id => $sum">
    <td>{$company_id}</td>
    <td class="center">{$sum}</td>
</tr>