Nad výpisem tabulky na stránce se mne vypíšou nechtěná čísla

Karel Chramosil
Člen | 114
+
0
-

Nete 3.1
Nad výpisem tabulky na stránce se mne vypíšou nechtěná čísla

Výpis:

Výpis použitých náhradních dílů
2 186 21 2 101 10 1 101 10 1 247 13 1 152 13 <- nechtěná čísla
Id Název Cena nákupní Cena prodejní DPH Číslo automatu Přístroj Zapsal Datum zápisu
86 Filtr vody 392 0 0 xxx 120 Fresh food – sušenkáč okénkový Šmíd 7. 9. 2016 Editace náhradního dílu
495 Flexo šňůra, II. tř., 3m 0 0 0 Addfood s.r.o. Externí práce Šmíd 8. 6. 2020 Editace náhradního dílu
256 Komora 12 L 2500 3000 21 Addfood s.r.o. Externí práce Chramosil 27. 3. 2018 Editace náhradního dílu
512 Komora 12 L 2500 3000 21 30320192 VL 223 (2×12 L) vířič Chramosil 2. 12. 2020 Editace náhradního dílu
260 Komora 12 L 2500 3000 21 20420461 VL 223 (2×12 L) vířič Chramosil 27. 3. 2018 Editace náhradního dílu
next ›

<?php

/**
 * UserList presenter.
 *
 * @author     Karel Chramosil
 * @package    Opravy
 * Presenter, který zajišťuje výpis seznamu typu náhradních dilů.
 */

namespace App\Presenters;

use Nette;


final class DilyListPresenter extends SecuredPresenter
{
    private $database;

    public function __construct(Nette\Database\Context $database)
    {
            $this->database = $database;
    }

		public function actionDefault()
	{
	}

	public function renderDefault(int $page = 1)
	{
		$this->template->page = $page;
		$this->template->dilys = $this->database->table('dily')
		    ->order('nazev ASC')
			->page($page, 5);

	}

	public function beforeRender()
	{
	}

}

Latte:

{var $title = 'Výpis použitých náhradních dílů'}

{block content}

<h1>Výpis použitých náhradních dílů</h1>

<table>
    <thead>
    <tr>
        <th>Id</th>
        <th>Název</th>
        <th>Cena nákupní</th>
        <th>Cena prodejní</th>
        <th>DPH</th>
        <th>Číslo automatu</th>
        <th>Přístroj</th>
        <th>Zapsal</th>
        <th>Datum zápisu</th>
    </tr>
    </thead>
    <tbody>
    {foreach $dilys as $dily}
    {$userRow = $dily->ref('user')}
    {$automatRow = $dily->ref('automat')}
    {$typautoRow = $automatRow->ref('typauto')}
    <tr class="odd">
        <td>{$dily->id}</td>
        <td>{$dily->nazev}</td>
        <td>{$dily->cena_nakup}</td>
        <td>{$dily->cena_prodej}</td>
        <td>{$dily->dph}</td>
        <td>{$automatRow->vyrobcislo}</td>
        <td>{$typautoRow->typautomat}</td>
        <td>{$userRow->prijmeni} </td>
        <td>{$dily->datum_zapsal|date:'j. n. Y'}</td>
		<td><a n:href="DilyList:">Editace náhradního dílu</a></td>
    </tr>
    {/foreach}
    </tbody>
</table>
	<p><a n:href="this, page: $page-1" n:if="$page > 1">‹ back</a>
		&nbsp;
	<a n:href="this, page: $page+1" n:if="$iterations">next ›</a></p>

{/block}

Můžete mne poradit kde je chyba?

Děkuji

Karel Chramosil

Petr Parolek
Člen | 455
+
0
-

Podle mě je chyba tu a kod v Latte by měl vypadat takto:

{php $userRow = $dily->ref('user')}
{php $automatRow = $dily->ref('automat')}
{php $typautoRow = $automatRow->ref('typauto')}

Editoval Petr Parolek (5. 11. 2021 10:19)

Šaman
Člen | 2667
+
+4
-

Myslím, že makro php je deprecated. Tady definuješ proměnnou, takže

{var $userRow = $dily->ref('user')}

Bez toho var (nebo php) to provede vyhodnocení a ihned vypíše. Viz dokumentace.

Editoval Šaman (5. 11. 2021 12:28)

Martk
Člen | 661
+
0
-

Jak píše @Šaman , už používat {do} (https://latte.nette.org/cs/tags#…), v tomto případě je ale lepší {var}

Karel Chramosil
Člen | 114
+
0
-

Děkuji,
moc mě to pomohlo.

Hezký den

Karel Chramosil