Grido – DataGrid pro Nette

libik
Člen | 96
+
0
-

Lze na grido pouzit tovarnicku jako na formular pro opakovane pouziti?
Chtel bych na strance zobrazit nekolik gridu vzdy se stejnymi daty, ale vzdy dle nejakeho parent id – kterych muze byt x.

o5
Člen | 416
+
+1
-

@mpis: předej si $grid do tý anonymní fce přes use:

$action->setCustomRender(function($item, \Nette\Utils\Html $el) use ($grid)
{
	...
	'title' => $grid->translator->translate(...),
	...
});

Na ty formuláře a šablonu zkus fci setTranslator() – nečekaně : ))

@libik: nevím přesně co tím chceš udělat, ale neměl by to být problém :))

Editoval o5 (19. 9. 2014 2:13)

Ja
Člen | 260
+
0
-

Zdravim, nevsimli jste si nekdo podivneho chovani pri pouziti ->setRememberState(true);?
Co se stalo mne – povolil jsem tuto moznost, vyfiltroval jeden column a ted pokazde kdyz na grid prijdu odkudkoli, tak se filtruje jen ten jeden column, i prestoze jsem zkusil filtraci zrusit, nebo filtrovat podle jineho columnu. Stale tam visi filtrace dle toho prvniho. Nejaka idea?
Moc diky


Update: zkousel jsem i grido ze sandboxu, a tam se to taky chova divne (ale nastesto to vyresilo spoustu dalsich problemu, ktery jsem mel) – rikam si, jestli neni dokurvenyho v tom lampu co mam – EasyPHP


Update2: tak v lampu nic blbe neni, blbne to i na forpsi

Editoval Ja (21. 9. 2014 12:04)

o5
Člen | 416
+
0
-

@Ja: Nechápu co ti připadá jako podivné chování. Teď jsem zkusil grido-sandbox na localhostu s master verzí a funguje to dle očekávání.

  1. zvolím filtr dle sloupce Firstname=„martin“ ⇒ dostanu 4 výsledky
  2. smažu z URI parametry týkající se filtru (grid-filter[firstname]=martin) a opět dostanu stejný výsledek (filtr načten ze sesssions)
  3. pokud přidám filtraci dle dalšího sloupce, výsledků je míň (+ sessions filtr se rovněž změní )
  4. pokud filtr smažu, smaže se tak i filtr uložený v sessions

Editoval o5 (21. 9. 2014 15:23)

Ja
Člen | 260
+
0
-

@o5: tak uz jsem dosel na workflow, jak ten filtr „rozbit“, resp. jak se ten filtr u me chova (aplikuju to na tvuj priklad, zaznamy mam z vlastni tabulky ‚uzivatele‘)

  1. vyfiltruju ‚martin‘
  2. klik na menu polozku ‚uzivatele‘ (smaze mi parametry v url)
  3. grid si filtraci ‚martin‘ nepamatuje
  4. vyfiltruju znovu ‚martin‘ a pridam k tomu sort dle nejakeho sloupce (uplne jedno jakeho)
  5. viz bod 2.
  6. filtr si najednou pamatuje filtraci i sort

zkousel jsem to i na sandboxu co jsem prevcirem stahl z githubu, napojil jsem to na sva data a NetteDatabase.php jsem jen obohatil o $grid->setRememberState(true);

Editoval Ja (22. 9. 2014 16:47)

Tirus91
Člen | 199
+
0
-

@o5
Chtěl bych se optat. Jak při

$grid->addColumnText('albums', 'Albums')
                ->setSortable()
                ->setColumn('id.gallery_album.title');

Mohu získat počet záznamů v podřízené tabulce vůči té, kterou mám v modelu? Také bych potřeboval ještě podřízené této podřízené (category → album → photo)

Děkuju

o5
Člen | 416
+
+1
-

@Tirus91: jestli používáš Nette\Database, tak to vyřešíš pomocí setCustomRender(). Použití najdeš v dokumentaci nebo sandboxu.

Tirus91
Člen | 199
+
0
-

@o5
super, díky moc, večer na to mrknu

Tirus91
Člen | 199
+
0
-

@o5
super, tak to funguje, Děkuji.. Ještě bych ale měl jednu otázku. Když chci využít setConfirm() a v callbacku si vrátit string ve stylu

$grid->addActionHref('deleteUser', '')
               ->setIcon('trash')
               ->setDisable(function($item) {
                   return !$this->isInRole(['admin']);
               })
               ->setConfirm(function($item) {
                   return 'Opravdu si přejete smazat uživatele '.$item->username.'?';
               })
               ->getElementPrototype()
               ->addAttributes(array('class' => 'btn-sm btn-danger'));

Jak mohu docílit aby se mi do translatoru ta věta dostala jen jednou a né Xkrát (pro každého uživatele)?

Také mi nějak nefunguje date filter a to jen v případě jednoho presenteru (v jiném mi funguje)

protected function createComponentUserGrid($name) {
    $grid = new \Grido\Grid($this, $name);
    $grid->setTranslator($this->getTranslator());
    $grid->model = $this->userModel->findAll();
    $grid->addColumnText('id', 'ID')
            ->setSortable();
    $grid->addColumnText('username', 'Username')
            ->setSortable()
            ->setFilterText()
            ->setSuggestion();
    $grid->addColumnText('email', 'Email')
            ->setSortable()
            ->setFilterText()
            ->setSuggestion();
    $grid->addColumnText('firstname', 'First name')
            ->setSortable()
            ->setFilterText()
            ->setSuggestion();
    $grid->addColumnText('surname', 'Surname')
            ->setSortable()
            ->setFilterText()
            ->setSuggestion();
    $grid->addColumnDate('created', 'Register', 'd.m.Y H:i')
            ->setSortable()
            ->setFilterDate(\Grido\Components\Columns\Date::FORMAT_DATETIME)
            ->setSuggestion();
    $grid->addColumnDate('logged', 'Logged', 'd.m.Y H:i')
            ->setSortable()
            ->setFilterDate(\Grido\Components\Columns\Date::FORMAT_DATETIME)
            ->setSuggestion();
    $grid->addActionHref('deactivateUser', '')
            ->setIcon('fa fa-fw fa-ban')
            ->setDisable(function($item) {
                return !$item->active;
            })
            ->getElementPrototype()
            ->addAttributes(array('class' => 'btn-sm btn-warning'));
    $grid->addActionHref('activateUser', '')
            ->setIcon('fa fa-fw fa-unlock')
            ->setDisable(function($item) {
                return $item->active;
            })
            ->getElementPrototype()
            ->addAttributes(array('class' => 'btn-sm btn-success'));
    $grid->addActionHref('manageRole', '')
            ->setIcon('fa fa-fw fa-group')
            ->getElementPrototype()
            ->addAttributes(array('class' => 'btn-sm btn-default'));
    $grid->addActionHref('edit', '')
            ->setIcon('pencil')
            ->setDisable(function($item) {
                return !$this->isInRole(['admin']);
            })
            ->getElementPrototype()
            ->addAttributes(array('class' => 'btn-sm btn-info'));

    $grid->addActionHref('deleteUser', '')
            ->setIcon('trash')
            ->setDisable(function($item) {
                return !$this->isInRole(['admin']);
            })
            ->setConfirm(function($item) {
                return 'Opravdu si přejete smazat uživatele '.$item->username.'?';
            })
            ->getElementPrototype()
            ->addAttributes(array('class' => 'btn-sm btn-danger'));
    $grid->setExport();

    $grid->getColumn('id')->headerPrototype->style = "width:5%";
    $grid->getColumn('username')->headerPrototype->style = "width:15%";
    $grid->getColumn('email')->headerPrototype->style = "width:15%";
    $grid->getColumn('firstname')->headerPrototype->style = "width:15%";
    $grid->getColumn('surname')->headerPrototype->style = "width:15%";
    $grid->getColumn('created')->headerPrototype->style = "width:7%";
    $grid->getColumn('logged')->headerPrototype->style = "width:7%";

    $grid->filterRenderType = $this->filterRenderType;
    return $grid;
}

Když kliknu na výběr datumu ve filtru, tak mi ho dovolí zvolit, ale jakmile kliknu do jiného prvku nebo kamkoliv mimo, tak se filtr vymaže

Editoval Tirus91 (29. 9. 2014 23:09)

svobodai
Člen | 136
+
0
-

Dá se ve filtru nějak udělat závislé select boxy, např. vyberu jméno a select box s příjmeními se mi omezí jen na ta, která mají vybrané jméno?

Dají se udělat custom filtery, myslím tím, že vyberu informaci ze selectboxu a pomocí jiné tabulky dohledám hodnoty k tomuto výběru a ty hodnoty teprve použiju pro filtrování.

o5
Člen | 416
+
0
-

Tirus91 napsal(a):

Jak mohu docílit aby se mi do translatoru ta věta dostala jen jednou a né Xkrát (pro každého uživatele)?

Tohle je celkem advanced věc a momentálně to jinak než přes nějaký javascript, který projde všechny data-grido-confirm a přilepí k ním username neuděláš. edithttps://forum.nette.org/…id-pro-nette?p=13

Tirus91 napsal(a):

Také mi nějak nefunguje date filter a to jen v případě jednoho presenteru (v jiném mi funguje)

To hlasíš nějaký UX bug nebo co? Nerozumím tomu.

svobodai napsal(a):

Dá se ve filtru nějak udělat závislé select boxy, např. vyberu jméno a select box s příjmeními > se mi omezí jen na ta, která mají vybrané jméno?

Dají se udělat custom filtery, myslím tím, že vyberu informaci ze selectboxu a pomocí jiné > tabulky dohledám hodnoty k tomuto výběru a ty hodnoty teprve použiju pro filtrování.

Rovněž custom požadavek. Ale jde to :)) Nedávno jsem řešil takto svázané selectboxy a to výběr místa (region/district). Udělal jsem si vlastní ListSelectFilter a tuhle logiku dopsal do konstruktoru + přidal javascriptovou obsluhu donačítání okresů.

Editoval o5 (30. 9. 2014 13:25)

pepakriz
Člen | 246
+
0
-

Jak mohu docílit aby se mi do translatoru ta věta dostala jen jednou a né Xkrát (pro každého uživatele)?

->setConfirm(function($item) use ($grid) {
    return sprintf($grid->getTranslator()->translate('Opravdu si přejete smazat uživatele %s?'), $item->username);
})

Možná by stálo za to zvážit, jestli v případě callbacku se má confirm překládat. Takto se totiž hláška přeloží 2×.

o5
Člen | 416
+
+1
-

@Tirus91: @pepakriz: LOL, tak tohle mi tam jedna dobrá duše implementovala :))

Takže to bude takto:

->setConfirm(function($item) {
    return ['Opravdu si přejete smazat uživatele %s?', $item->username];
})

Přidám to ještě do testů ;)

Editoval o5 (30. 9. 2014 13:26)

pepakriz
Člen | 246
+
0
-

Wow, o tom jsem nevěděl.

svobodai
Člen | 136
+
0
-

o5 napsal(a):

svobodai napsal(a):

Dá se ve filtru nějak udělat závislé select boxy, např. vyberu jméno a select box s příjmeními > se mi omezí jen na ta, která mají vybrané jméno?

Dají se udělat custom filtery, myslím tím, že vyberu informaci ze selectboxu a pomocí jiné > tabulky dohledám hodnoty k tomuto výběru a ty hodnoty teprve použiju pro filtrování.

Rovněž custom požadavek. Ale jde to :)) Nedávno jsem řešil takto svázané selectboxy a to výběr místa (region/district). Udělal jsem si vlastní ListSelectFilter a tuhle logiku dopsal do konstruktoru + přidal javascriptovou obsluhu donačítání okresů.

Mohl by jsi mi naznačit kde pak dělat ty změny, nebo nějaký lehký příklad.

verex
Člen | 12
+
0
-

Mám dvě tabulky spojené cizím klíčem 1:N. V Grido zobrazuji data z tabulky A a sloupec, ve kterém chci mít počet spojených záznamů z druhé tabulky.

Poradí někdo, jak to v Grido nadefinovat?

Tirus91
Člen | 199
+
0
-

@verex
zkus

$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item){
                    return $item->related('gallery_photo')->count('id');
                });

Editoval Tirus91 (1. 10. 2014 10:59)

verex
Člen | 12
+
0
-

Tirus91 napsal(a):

@verex
zkus

$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item){
                    return $item->related('gallery_photo')->count('id');
                });

To sice zobrazí potřebný údaj, ale nejde filtr a řazení.

Tirus91
Člen | 199
+
0
-

@verex
a co takhle si tam přidat ještě

$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item) {
                    return $item->related('gallery_photo')->count('id');
                })
                ->setSortable()
                ->setFilterText()
                ->setSuggestion();
verex
Člen | 12
+
0
-

Tirus91 napsal(a):

@verex
a co takhle si tam přidat ještě

$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item) {
                    return $item->related('gallery_photo')->count('id');
                })
                ->setSortable()
                ->setFilterText()
                ->setSuggestion();

Do order by a do where se použije photos a skončí to chybou Column not found.

svobodai
Člen | 136
+
0
-

musíš k tomu filtru ještě připojit

<?php
$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item) {
                    return $item->related('gallery_photo')->count('id');
                })
                ->setSortable()
                ->setFilterText()
				->setColumn('photo_id')
                ->setSuggestion();
?>

v tom setColumn nastavíš podle jakého sloupce chceš filtrovat.

svobodai
Člen | 136
+
0
-

CHtěl bych filtrovat datum pomocí addFilterDateRange, ale zobrazí se mi jen input box, ale není k němu připojen kalendář. Musím někde nastavit něco aby se to zobrazovalo i s kalendářem?

verex
Člen | 12
+
0
-

svobodai napsal(a):

musíš k tomu filtru ještě připojit

<?php
$grid->addColumnText('photos', 'Photos')
                ->setCustomRender(function($item) {
                    return $item->related('gallery_photo')->count('id');
                })
                ->setSortable()
                ->setFilterText()
				->setColumn('photo_id')
                ->setSuggestion();
?>

v tom setColumn nastavíš podle jakého sloupce chceš filtrovat.

Takže si pak zadám hodnotu filtru 10 a skutečně dostanu řádky s počtem fotek 10 nebo s photo_id = 10?
Já bych řekl, že to druhé.

svobodai
Člen | 136
+
0
-

Ano to druhé. Budeš muset použít místo setCondition, kde si můžeš zadat vlastní sql podmínky pro filtrování. viz dokumentace

Ja
Člen | 260
+
0
-

@o5 : cirou nahodou, nepodarilo se ti rozbit to filtrovani, dle myho navodu? pripadne moc diky

Tirus91
Člen | 199
+
0
-

@o5
Tak zatím vše funguje, jen musím otestovat ty datepickery..
Ale mám ještě jeden dotaz. Když mám sloupeček, který vypisuji následovně

$grid->addColumnText('album', 'Album')
                ->setSortable()
                ->setCustomRender(function($item) {
                    if ($item->gallery_album_id) {
                        return $item->gallery_album->title;
                    }
                    return null;
                });

Jak mohu docílit filtrace (správné) a také editace? (u editace musí být výběr z číselníku… u filtrace preferuji spíše text)

s4muel
Člen | 92
+
0
-

@Tirus91: filter by mal ist takto takto:

...->setFilterText()->setColumn('gallery_album.title');

a editaciu pozri v dokumentacii a sandboxe:
http://o5.github.io/…tion.cs.html#…

Hafran
Člen | 121
+
0
-

svobodai napsal(a):

Ano to druhé. Budeš muset použít místo setCondition, kde si můžeš zadat vlastní sql podmínky pro filtrování. viz dokumentace

No tím možná spravíš filtrování, ale řazení tím dle mého nepůjde.

svobodai
Člen | 136
+
0
-

Dá se nějak zobrazit informace o načítání dat než se dokončí filtrace? Je to přímo v Grido nebo to musím řešit jinak.

Oli
Člen | 1215
+
0
-

myslis jako nejakej spiner? To ma treba ajax.nette.js extension tusim ze se jmenuje spinner. ten si zavolas a vsechny ajax dotazy mas s nejakym spinnerem

svobodai
Člen | 136
+
0
-

Díky za nakopnutí. Jen jsem tam neměl html element s příslušným ID na které se ten spinner naváže.

svobodai
Člen | 136
+
0
-

Mám trochu problém s paginatorem.
Mám grid, a formulář s filtrací, který není součástí gridu. Když změním parametry v té filtraci tak se mi správně nastaví select a vše se zobrazí správně, ale pokud mám více stránek tak po přechodu na další stránku ten grid zapomene ty filtrační podmínky.
Filtrační podmínky předávám pomocí funkce setModel, kam vložím ten základní dotaz s novými podmínkami.

Jak to upravit aby i při tom přechodu na další stránku zůstal ten select omezen.

Dá se nějakým způsobem udělat sumace některých sloupců na aktuální stránce, případně za celý výběr?

Dá se kromě vyfiltrovaných dat vyexportovat i ten hlavní select bez filtrovaných dat?

Editoval svobodai (8. 10. 2014 13:15)

matopeto
Člen | 395
+
0
-

Zdravim, da sa prosim vas, nastavit nejako vlastna trieda na export? V dokumentacii to nemozem najst a z kodu tiez niesom velmi chytry.

pepakriz
Člen | 246
+
0
-

matopeto napsal(a):

Zdravim, da sa prosim vas, nastavit nejako vlastna trieda na export? V dokumentacii to nemozem najst a z kodu tiez niesom velmi chytry.

Dá se v gridu přetížit tato metoda, a v ní použiješ vlastní Export třídu: https://github.com/…ontainer.php#L372

Jiná cesta momentálně neexistuje.

o5
Člen | 416
+
0
-

pepakriz napsal(a):

Jiná cesta momentálně neexistuje.

Existuje :))

function createComponentGrid()
{
   $grid = new \Grido\Grid;
   ....
   new CustomExport($grid, 'export.tsv');
}

class CustomExport extends \Grido\Components\Export
{
   ...
}
matopeto
Člen | 395
+
0
-

diki skusim.

kolsi
Člen | 131
+
0
-

Nevím, jestli je to schválně, ale když mám více sloupců s filtrem a u více filtrů nastavím výchozí hodnotu přes ->setDefaultValue(…), tak každé zavolání této funkce přepíše předchozí nastavenou hodnotu. Ve výsledku je pak výchozí hodnota filtru aplikována pouze u toho filtru, který je nastaven jako poslední.

o5
Člen | 416
+
0
-

@kolsi: To je bug, v masteru je to opraveno. Díky za report.

semi333
Člen | 1
+
0
-

Zdravim, je mozne prekreslovat vlastny snippet mimo gridu po filtrovani dat? Snazim sa urobit prepocitavanie hodnot z vyselektovanych dat Grida a vypisovat ich do samostatneho snippetu. Neviem ci na to idem spravne, ale snazim sa to docielit cez udalost gridu $grid->onFetchData. Vdaka za odpoved.

evil
Člen | 1
+
0
-

Zdravím, mám problém s odkazy pro sortování
domena.org/projekt/uzivatel/liste/4
v teto strance mam grid umisten
generuje mi vsak odkazy
domena.org/projekt/uzivatel/liste?grid-sort%5Bjmeno%5D=↑

chybi mi tam /<id> … /4
a pak padám na chybu protože nemůžu načíst data protoze se mi ta hodnota 4 do id nepreda

nejaka rada co delam spatne ?

mam podobny projekt kde to funguje, ale v tomto to uplne ignoruje nastaveni routovani a vypisuje fyzickou cestu

Editoval evil (23. 10. 2014 15:43)

zitnyp
Člen | 1
+
0
-

evil: Ahoj, promena neni persistentni, tak proto mizi.

Nastavit se do da v presenteru takhle

/** @persistent */
public $id;

Editoval zitnyp (23. 10. 2014 19:54)

cujan
Člen | 410
+
0
-

Caute, zobrazujem v grido prijmy a vydaje z jednej tabulky, ako ich mozem vramci riadkov aj farebne rozlisit?

vdaka

s4muel
Člen | 92
+
+1
-

@cujan

$grid->setRowCallback(function($row, \Nette\Utils\Html $tr) {
    if ($row->stlpec_so_sumou >= 0) {
        $tr->class[] = 'prijem';
    }
			else {
        $tr->class[] = 'vydaj';
			}
    return $tr;
});
mkos
Člen | 4
+
0
-

Zdarek
Začínám s Nette a po vyzkoušení několika gridů mi Grido vyhovuje nejvíc. Potřeboval bych ale píchnout s nastavením filtru. V tabulce je pole datum_zadani a potřebuji filtrovat podle měsíce a roku. Pokud přidám filtr podle ukázky

$mesice = array('' => '', 1 => 'leden', 2 => 'únor');
        $grid->addFilterSelect('mesic', 'Měsíc', $mesice)
                ->setColumn('datum_zadani')
                ->setWhere(function($value, \Nette\Database\Table\Selection $connection){
                    $value
                            ? $connection->where('MONTH(datum_zadani) = ?', 'mesic')
                            : NULL;
                });

tak mi uniká způsob nastavení setWhere
Díky za nakopnutí

s4muel
Člen | 92
+
+1
-

@mkos
nie

$connection->where('MONTH(datum_zadani) = ?', 'mesic')

ale

$connection->where('MONTH(datum_zadani) = ?', $value)

v ukazke z dokumentacie

$connection->where('column = ?' , 'male')

je preto ‚male‘, lebo filter je checkbox a preto ak je zakliknuty (true), tak je tam rovno hodnota stlpca

mkos
Člen | 4
+
0
-

s4muel
Díky moc
to bylo přesně ono…

cujan
Člen | 410
+
-1
-

s4muel napsal(a):

@cujan

$grid->setRowCallback(function($row, \Nette\Utils\Html $tr) {
    if ($row->stlpec_so_sumou >= 0) {
        $tr->class[] = 'prijem';
    }
			else {
        $tr->class[] = 'vydaj';
			}
    return $tr;
});

hodil som to tam a hodilo mi chybovu hlasku
Nette\DeprecatedException

ActiveRow is read-only; use update() method instead.

protected function createComponentGrid($name) {


	    $grid = new  \Grido\Grid($this,$name);
	    $grid->translator->lang='sk';
	    $grid->setModel($this->prijmyvydaje->findAll());
	    $grid->setDefaultSort(array('datum'=>'DESC'));
	    $grid->addColumnDate('datum', 'Datum')->setDateFormat(\Grido\Components\Columns\Date::FORMAT_DATE)->setSortable();
	    $grid->addColumnText('popis', "Popis");
	    $grid->addColumnText('suma', "Suma")->setSortable();
	    $grid->addColumnText('idCiselnikTypTransakcie', 'typ transakcie')->setColumn(function($item){ return $item->ciselnikTypTransakcie->nazov;})->setSortable();
	    $grid->addColumnText('identifikator', 'identifikator');
	    $grid->setRowCallback(function($row, \Nette\Utils\Html $tr) {
	     if ($row->identifikator = 1) {
		$tr->class[] = 'prijem';
	    }
	    else {
		$tr->class[] = 'vydaj';
	    }
	    return $tr;
	    $grid->addActionHref('delete', 'Zmaz');


});
s4muel
Člen | 92
+
0
-

@cujan

if ($row->identifikator = 1) {
if ($row->identifikator == 1) {
cujan
Člen | 410
+
0
-

s4muel napsal(a):

@cujan

if ($row->identifikator = 1) {
if ($row->identifikator == 1) {

super funguje…vobec mi to nedoslo,inac nemozes mi poradit ako nastavit inner filter na tento stlpec?

$grid->addColumnText('idCiselnikTypTransakcie', 'typ transakcie')->setColumn(function($item){ return $item->ciselnikTypTransakcie->nazov;})->setSortable();

teda na stlpec, ktoreho hodnoty taham z inej tabulky?

inac povedane, ako na setFilterSelect() ak to je stlpec tahany z inej tabulky cudzim klucom?

vdaka

Editoval cujan (31. 10. 2014 19:45)

s4muel
Člen | 92
+
0
-

@cujan pisem len namatkovo, takto nejako by to mohlo fungovat, skus:

$grid->addColumnText('idCiselnikTypTransakcie', "typ transakcie")
	->setColumn(function($item) {
		//nastavenie stlpca s datami
		return $item->tabulka_typov->stlpec_s_nazvom_typu;
	})
	->setSortable()
    //metoda nizsie musi vratit pole s ciselnikom typov v tvare
	//id_typu => nazov_typu, pripadne s prvym 'prazdnym' prompt elementom napr: '' => 'vyberte typ'...
	->setFilterSelect($this->sluzba_ci_repozitar->ciselnik_typov())
	//nastavenie stlpca pouziteho na filtrovanie (ak nemas komplikovany model, tak nazov tabulky netreba uviest)
	->setColumn('tabulka_zaznamov.db_stlpec_s_cudzim_klucom_na_tabulku_typov');

Editoval s4muel (3. 11. 2014 14:33)