jak dostat první řádek z related(..)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- qteck
- Člen | 164
Ahoj,
latt vypadá takto:
<h2 class="fotografieH2">Vytvořené galerie</h2>
{foreach $galleries as $gallery}
<div class="gallery_section">
<h3><a href="{link UkazGalerii:}">{$gallery->name}</a></h3>
<a n:href="UkazGalerii:"><img src="{$basePath}/js/colorbox/content/-------<<<<<" alt="fotos"></a>
<div class="content">{$gallery->related('gallery_pictures')->count('*')} obrázků</div>
<div class="created">{$gallery->add|date:'j.n.Y'}</div>
<?php
var_dump($gallery->related('gallery_pictures')->name);
?>
</div>
{/foreach}
mám dvě tabulky, galerie a obrázky
vypisuji galerii a potřebuju dostat první obrázek co do ní patří z tabulky obrázek abych ho zobrazil na profilu. Jak na to?
tam v tom phpku můžete vidět můj pokus, ale to vypíše jenom název tabulky, nic víc.
Tady jště ty dvě tabule pro lepší orientaci:
DROP TABLE IF EXISTS `galleries`;
CREATE TABLE `galleries` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
`id_author` int(11) NOT NULL,
`add` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `id_author` (`id_author`),
CONSTRAINT `galleries_ibfk_1` FOREIGN KEY (`id_author`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `gallery_pictures`;
CREATE TABLE `gallery_pictures` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`id_author` int(11) NOT NULL,
`id_gallery` int(11) NOT NULL,
`add` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `id_author` (`id_author`),
KEY `id_gallery` (`id_gallery`),
CONSTRAINT `gallery_pictures_ibfk_2` FOREIGN KEY (`id_gallery`) REFERENCES `galleries` (`id`),
CONSTRAINT `gallery_pictures_ibfk_1` FOREIGN KEY (`id_author`) REFERENCES `users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Díky
- Oli
- Člen | 1215
Related vrací GroupeSelection, proto ještě musíš zavolat bud ->fetch() za tim related nebo to dat do foreache (pokud chces tech radku vic)…
- ViPEr*CZ*
- Člen | 818
A ještě jedna zrada… a to, že pokud by neexistoval ten řádek (respektive related k danému záznamu by nenašlo odpovídající záznamy), pak $gallery->related(‚gallery_pictures‘)->fetch() nebude vždy vracet ActiveRow. Čili volání ->name by nemuselo za jistých předpokladů pokaždé projít.