Nette\database a vypsani nahodneho prvku z tabulky potomka
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- brabijan
- Člen | 8
Ahoj, trápím se s tím už skoro celý den, a už si nevím rady. Mám tabulky galerie_kategorie (id, nazev, popis, cas) a galerie (id, fotka, galerie_kategorie_id) reprezentovány modely galerieSeznam a galerie. V seznamu kategorii chci vypisovat jednu nahodnou fotku z dané kategorie, nicméně nedaří se mi tabulky propojit. Příkládám příslušný presenter a šablonu. Předem díky za pomoc.
<?php
namespace FrontModule;
class GaleriePresenter extends BasePresenter
{
private $galerieSeznam, $galerie;
public function renderDefault() {
$this->galerieSeznam = $this->context->createGalerieSeznam();
$this->template->galerieSeznam = $this->galerieSeznam->order("cas DESC");
}
}
?>
{block content}
<div class="content">
{foreach $galerieSeznam as $galerie}
<a n:href="Galerie:detail $galerie->id">
<div>
{$galerie->related('galerie')->order("RAND()")->limit(1)->get("fotka")}
</div>
<b>{$galerie->nazev}</b><br />
pocet fotek: {$galerie->related('galerie')->count()}<br />
<i>{$galerie->popis}</i>
</a>
{/foreach}
</div>
{/block}
Editoval carpi (19. 5. 2012 2:24)
- brabijan
- Člen | 8
Vyřešeno, prosím o lock.
{block content}
<div class="content">
{foreach $galerieSeznam as $galerie}
<a n:href="Galerie:detail $galerie->id">
<div>
{foreach $galerie->related('galerie')->order("rand()")->limit(1) as $fotky}
{$fotky->fotka}
{/foreach}
</div>
<b>{$galerie->nazev}</b><br />
pocet fotek: {$galerie->related('galerie')->count()}<br />
<i>{$galerie->popis}</i>
<div class="clear"></div>
</a>
{/foreach}
</div>
{/block}
Editoval carpi (19. 5. 2012 16:23)
- PavelV
- Člen | 6
ORDER BY RAND() je nemoudré. http://www.titov.net/…-from-table/ a desítky dalších článků na toto téma.