Odesílání emailu – chyba v latte, 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.
Desttro
Člen | 126
+
0
-

Zdravím,
chtěl bych poprosit o radu. Když nemám žádný záznam v DB, a volám actionCheck v CronPresenteru, tak vše funguje. Jakmile mám v DB záznam, který splňuje podmínku, aby se odeslal email, tak mi laděnka hlásí chybu v email.latte:

Notice
Trying to get property of non-object

$iterations = 0; foreach ($data as $dat) { ?>
<?php echo Latte\Runtime\Filters::escapeHtml($dat->orderp, ENT_NOQUOTES) ?>
<?php $iterations++; }

Nevíte, v čem je problém? Zde je můj presneter a latte. Děkuji za všechny rady.

CronPresenter.php:

namespace App\Presenters;

use Nette,
	App\Model;
use Nette\Mail\Message;
use Nette\Mail\SendmailMailer;

class CronPresenter extends BasePresenter
{
	public function actionCheck()
	{
		$this->checkOneWeek();
	}

	public function checkOneWeek()
	{
		$date = new \Nette\DateTime();

		$date->modify('+1 week');

		$data = $this->database->table('manufacturing')
			->where('delivery_date < ?', $date)
			->where('notify = 0')->fetch();

		if ($data != null) {

			// Mail send
			$template = $this->createTemplate();
			$template->setFile(__DIR__ . '/../templates/Cron/email.latte');
			$template->data = $data;
			$mail = new Message;
			$mail->setFrom('TEST <test@test.cz>')
				->addTo('testmail@domena.cz')
				->setHtmlBody($template);
		}
	}
}

email.latte:

{foreach $data as $dat}
 {$dat->orderp}
{/foreach}
voda
Člen | 561
+
+1
-

Nemá místo fetch být fetchAll?

Editoval voda (22. 9. 2014 14:29)

Desttro
Člen | 126
+
0
-

Děkuji, funguje :)