propojení výsledku dotazu z klauzule query a šablony
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jarek92
- Člen | 91
Dobrý den,
prošel jsem si dokumentaci i návody zde na webu, ale nedaří se mi
následující věc. Řeším to už několikátý den.
Model s názvem Base:
<?php
namespace App;
use Nette;
class Base extends Nette\Object
{
/** @var Nette\Database\Connection */
protected $connection;
public function __construct(Nette\Database\Connection $connection)
{
$this->connection = $connection;
}
public function vratEmaily(){
return $this->connection->query('SELECT kontakty.hodnota FROM kontakty JOIN typy_kontaktu ON kontakty.typy_kontaktu_id = typy_kontaktu.id WHERE typy_kontaktu.nazev = "E-mail"');
}
public function vratTelefony(){
return $this->connection->query('SELECT kontakty.hodnota FROM kontakty JOIN typy_kontaktu ON kontakty.typy_kontaktu_id = typy_kontaktu.id WHERE typy_kontaktu.nazev = "Telefon"');
}
public function vratSouradnice(){
return $this->connection->query('SELECT kontakty.hodnota FROM kontakty JOIN typy_kontaktu ON kontakty.typy_kontaktu_id = typy_kontaktu.id WHERE typy_kontaktu.nazev = "GPS souřadnice"');
}
}
BasePresenter:
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Base presenter for all application presenters.
*/
abstract class BasePresenter extends Nette\Application\UI\Presenter
{
/** @var \App\Base @inject */
public $base;
public function beforeRender()
{
$this->template->emaily = $this->base->vratEmaily();
$this->template->telefony = $this->base->vratTelefony();
$this->template->souradnice = $this->base->vratSouradnice();
}
}
a nakonec kus ze šablony @layout.latte:
{foreach $emaily as $email}
<font class='horniKontakt'>{$email->hodnota}{sep}, {/sep}</font>
{/foreach}
<font class='horniOddelovac'>|</font>
<img class='kontakt' src='{$basePath}/images/horni_telefon.png'>
{foreach $telefony as $telefon}
<font class='horniKontakt'>{$telefon->hodnota}{sep}, {/sep}</font>
{/foreach}
<font class='horniOddelovac'>|</font>
<img class='kontakt' src='{$basePath}/images/horni_souradnice.png'>
{foreach $souradnice as $gps}
<font class='horniKontakt'>{$gps->hodnota}{sep}, {/sep}</font>
{/foreach}
Najde tam prosím někdo chybu? Vyvolává to výjimku: Nette\InvalidStateException
Děkuju moc za cokoliv.