Předání parametru metodě z view
- Jerry
- Člen | 9
Ahoj
S nette sem začal 2 dny na zpátek a zasekl sem se u asi poměrně
triviální věci. Snažím se vypsat z databáze nějaký údaje, pokud
zadefinuju dotaz na databázi napřímo, tak to funguje bez problému, ale kdž
chci ID předat pomocí parametru metody, tak sem v koncích.
public function renderDefault($_id) {
$this->template->data = $this->db_connection->table('user')->where('id = ?', $_id);
}
<div n:foreach="$data as $item">
{$item->name, 1}
</div>
Uměl by ste mi někdo říct jak předat metodě $_id? Nebo jinej korektní způsob jak vypsat údaje z DB?
- Jerry
- Člen | 9
Ta jednička nevím jak se mi tam dostala :D De o to že když to takhle spustím tak mi laděnka vyhodí „Column operator does not accept NULL argument.“ Proto by mě zajímalo celkově jak předat právě té metodě renderDefault ten vstupní argument $_id. Mám ho předávat pomocí url, či? Pokud totiž spustím
public function renderDefault() {
$this->template->data = $this->db_connection->table('user')->where('id = 1');
}
Tak mi to normálně vypíše záznam s id 1
- CZechBoY
- Člen | 3608
Presenter
public function actionDefault ($id)
{
$this->template->data = $this->db_connection->table('user')->where('id = ?', $id);
}
Pak na to odkážeš z Latte
<a href="{plink Presenter:, id => 99}">odkaz na Presenter, akce default </a>
Editoval CZechBoY (25. 10. 2015 12:00)
- Šaman
- Člen | 2666
V presenterech je best practise tohle:
<a n:href="Presenter:default, 1">…</a> <!-- 1 je předávaná proměnná do metody renderDefault($id) -->
A propo nedoporučuji používat proměnné s podtržítkem na začátku.
Několik jich používá framework abstraktních předcích kompoment a
presenterů ($_control
, $_presenter
). Beru to tak, že
proměnné s podtržítkem má vyhrazený framefork.
Editoval Šaman (25. 10. 2015 14:50)
- Václav Kraus
- Člen | 77
Šaman napsal(a):
V presenterech je best practise tohle:
<a n:href="Presenter:default, 1">…</a> <!-- 1 je předávaná proměnná do metody renderDefault($id) -->
A propo nedoporučuji používat proměnné s podtržítkem na začátku. Několik jich používá framework abstraktních předcích kompoment a presenterů (
$_control
,$_presenter
). Beru to tak, že proměnné s podtržítkem má vyhrazený framefork.
Asi by bylo super to mít v dokumentaci. Ale vůbec netuším, kam to dát (jestli to už teda někde není, ale nenašel jsem). Možná sem https://doc.nette.org/cs/glossary ?
- Šaman
- Člen | 2666
Václav Kraus napsal(a):
Šaman napsal(a):
A propo nedoporučuji používat proměnné s podtržítkem na začátku. Několik jich používá framework abstraktních předcích kompoment a presenterů (
$_control
,$_presenter
). Beru to tak, že proměnné s podtržítkem má vyhrazený framefork.Asi by bylo super to mít v dokumentaci. Ale vůbec netuším, kam to dát (jestli to už teda někde není, ale nenašel jsem). Možná sem https://doc.nette.org/cs/glossary ?
Ono těch properties frameworku je jen pár a to moje doporučení není nijak oficiální. Resp. co na to @DavidGrudl? Ale pro jistotu takové property nepoužívám.
P.S. Jde opravdu jen property, tedy členské proměnné. Obyčejné proměnné se s tím tlouct nebudou. Takže v tomto případě to byl spíš můj nezvyk, který mě praštil přes oči.
Editoval Šaman (25. 10. 2015 17:14)