Nette a dvě proměnné v šabloně – problém
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Desttro
- Člen | 126
Zdravím,
mám problém se zobrazením dvou proměnných v šabloně.
V presenteru mám tento render:
public function renderShow($hotelId)
{
$hotel = $this->database->table('hotel')->get($hotelId);
if (!$hotel) {
$this->error('Hotel nebyl nalezen');
}
$popis = $this->database->table('popisy')->where('hotel_id = ?', $hotelId);
$this->template->hotel = $hotel;
$this->template->popis = $popis;
}
}
Chci v šabloně z databáze zobrazit hodnoty jak z tabulky hotel, tak z tabulky popisy. Tak mám v šabloně tohle:
<span class="item_title_part0">{$hotel->country}</span>
<span class="item_title_part1"> - </span>
<span class="item_title_part2">{$popis->hotel}</span>
Jenže Nette mi vyhodí tuhle hlášku:
Nette\MemberAccessException
Cannot read an undeclared property Nette\Database\Table\Selection::$hotel
Když ze šablony smažu {$popis->hotel}, tak je vše v pohodě.
Nevíte, kde by mohl být problém? Děkuji.
- David Matějka
- Moderator | 6445
V $popis
nemas konkretni radek (ActiveRow), ale kolekci
(Selection). Pro vyber jednoho konkretniho radku pridej za ten
->where()
jeste ->fetch()