Výpis dat z databáze není úplný

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
hary28
Člen | 2
+
0
-

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
+
0
-

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)

hary28
Člen | 2
+
0
-

No a jak toto tedy vyřešit?

vvoody
Člen | 910
+
0
-

:) prave som editoval svoj post, uz tam je aj riesenie