COUNT vo foreach pre konkretny row

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

zdravim,

snazim sa spocitat zaznamy v tabulke, ktore obsahuju konkretnu hodnotu.
neviem ale, akym sposobom mam predat parameter z latte do presenteru.
snazil som sa spravit count aj cez funkciu getRowCount()

da sa toto nejak jednoducho spravit?

model

public function getSkibuses($id)
{
    return $this->database->table("skibuses")->order('idskibus' . ' DESC')->where ("centers_idcenter", $id);
}
public function countRes($id)
{
    return $this->database->query("SELECT * FROM reservations WHERE skibus_idskibus = ?", $id);
}

presenter

public function renderDefault($id)
{
    $this->template->capacity = $this->skibusManager->countRes($id);
    $this->template->skibuses = $this->skibusManager->getSkibuses($id);
}

latte

<tr n:foreach="$skibuses as $skibus" >
    <td>{date("d.m.Y (l), G:i", strtotime($skibus->departureDatetime))}</td>
    <td>        {$capacity->getRowCount()}       /{$skibus->capacity}</td>
</tr>

dakujem velmi pekne za ochotu

Editoval majo1 (12. 2. 2016 14:47)

CZechBoY
Člen | 3608
+
0
-

Proc potrebujes predavat neco z sablony do presenteru kdyz presenter predava data do sablony? Co vis v sablone tak vis i v presenteru.
Pocet ziskanych radku zjistis normalne funkci count(array).

majo1
Člen | 103
+
0
-

lebo neviem, ako mam v presenteri vyfiltrovat zaznamy v tabulke tak, aby som dostal cislo tychto vyfiltrovanych zaznamov, kde je podmienka hodnota zaznamu, ktora sa nachadza prave v cykle foreach.
:)

ide o to, ze mam

  1. tabulku – zoznam autobusov (cez foreach zobrazujem zaznamy – autobusy) a chcem zobrazit aj pocet rezervacii, ktore sa viazu k tomuto konkretnemu autovusu
  2. tabulku – zoznam rezervacii
majo1
Člen | 103
+
0
-

@CZechBoY alebo potrebujem pri kazdom iterovani v latte vykonat „SELECT * FROM reservations WHERE skibus_idskibus = ?“, $id
ani neviem co by bolo jednoduchsie, som len zaciatocnik a snazim sa ucit, vyriesit problem :)
dakujem

premek_k
Člen | 172
+
0
-

V latte můžeš volat metodu Presenteru – z hlavy asi takto:

{var $pocet = $this->presenter->foo($fooParam)}

Nebo si napsat helper, případně si to připravit již před renderem – doplnit to do těch dat.

Editoval premek_k (12. 2. 2016 20:11)

ali
Člen | 342
+
+2
-

@premek_k

{var $pocet = $presenter->foo($fooParam)}
premek_k
Člen | 172
+
+1
-

ali napsal(a):

@premek_k

{var $pocet = $presenter->foo($fooParam)}

JJ, dík za opravu, sám jsem si nebyl jistý.

majo1
Člen | 103
+
0
-

Ďakujem, pomohli ste mi :)