Výpis dat z databáze není úplný
- hary28
- Člen | 2
Zdravim,
mám takový problém, snažím se z databáze vypsat všechny uživatele a ke každému uživateli vypsat jeho příspěvky, ale nastal mi problém v tom, že uživatele mi to sice vypíše, ale příspěvky mi to vypisuje pouze u prvního uživatele u ostatních už ne.
{foreach $uzivatele as $zaznam}
<h2>{$zaznam->login}</h2>
<ul>
{foreach $prispevky->where('id_uziv',$zaznam->id) as $row}<li>{$row->text}</li>{/foreach}</td>
</ul>
{/foreach}
Předem děkuji za radu
- vvoody
- Člen | 910
Kedze pouzivas ten isty Selection objekt $prispevky pri kazdej iteriacii nad uzivatelmi, tak pri prvom uzivatelovi sa vykonava akoby:
<?php
$prispevky->where('id_uziv',$idPrveho)
?>
pri druhom, vdaka fluent interface, tam uz je:
<?php
$prispevky->where('id_uziv',$idPrveho)->where('id_uziv',$idDruheho);
?>
pri tretom:
<?php
$prispevky->where('id_uziv',$idPrveho)->where('id_uziv',$idDruheho)->where('id_uziv',$idTretieho);
?>
atd.. co samozrejme uz nevrati ziadne riadky.
Riesenie:
https://doc.nette.org/cs/database#…
vsimni si pouzitie funkcie related()
$book je v tvojom pripade uzivatel a $book_tag prispetky uzivatela
<?php
{foreach $database->table('book')->order('title')->limit(5) as $book}
<h2>{$book->title} ({$book->author->name})</h2>
{foreach $book->related('book_tag') as $book_tag}
{$book_tag->tag->name}{sep}, {/sep}
{/foreach}
{/foreach}
?>
nejsom si isty kedy je ju mozne pouzit, som len zaciatocnik, ale typujem ze staci mat tabulky v InnoDB a nastavene foreign keys.
Editoval vvoody (21. 4. 2012 18:03)