Invalid argument supplied for foreach()

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

Ahoj, při snaze o vypsaní dat z databáze mi laděnka hlásí chybu Invalid argument supplied for foreach()

Model:

public function VypisZbozi()
   {
       $this->database->table('zbozi')
           ->order('datum DESC');
   }

Presenter:

public function renderDefault()
    {
        $this->template->items = $this->zboziModel->VypisZbozi();
    }

Vůbec nevím kde dělám chybu

šablona:

{foreach $items as $item}
   <div class="item">
       <img src="{$item->obrazek}">
      <p>{$item->nazev}</p>
   </div>
{/foreach}
Tirus91
Člen | 199
+
0
-

Problém je, že ti to asi vrátí něco jiného než objekt či pole.

např. to můžeš upravit v šabloně

{if $items}
	{foreach $items as $item}
	   <div class="item">
	       <img src="{$item->obrazek}">
	      <p>{$item->nazev}</p>
	   </div>
	{/foreach}
{/if}
David Matějka
Moderator | 6445
+
+3
-

nemas tam return…

TomasHuttner
Člen | 66
+
-1
-

A kde mi to return chybí? Nějak na to nemůžu přijít.

David Matějka
Moderator | 6445
+
0
-

v teto metode

public function VypisZbozi()
   {
       $this->database->table('zbozi')
           ->order('datum DESC');
   }
Kcko
Člen | 469
+
0
-
public function VypisZbozi()
   {
       return $this->database->table('zbozi')
           ->order('datum DESC');
   }