Python týden Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python

Lekce 7 - CMS v Nette a Doctrine 2 - Vytváření článků

V minulé lekci, CMS v Nette a Doctrine 2 - Kategorie článků, jsme se věnovali vytváření kategorií článků a refaktoringu. V dnešním Nette tutoriálu si ukážeme, co jsou to pomocné třídy pro skládání DQL dotazů, jak fungují a nakonec přidáme možnost vytváření samotných článků.

Pomocné třídy pro skládání DQL dotazů

Základem je třída Kdyby\Doctrine\QueryObject, od kterého budou všechny naše třídy dědit. Všechny tyto třídy poté musí obsahovat metodu doCreateQuery(), která se postará o složení dotazu a vrácení objektu QueryBuilder. Díky tomu bude možné repositářům předávat objekt těchto tříd, přidávat jim různé filtry či další selecty a zefektivnit tak DQL dotazy. Příklad:

$query = new ArticlesListQuery();
$query->withAuthors()  // přidá jména autorů
        ->onlyReleased()  // vybere pouze schválené články
        ->latest(5);  // vybere posledních pět

$result = $em->getRepository(Article::class)
        ->fetch($query);  // vrátí výsledek

Takto nějak budou moci vypadat veškeré naše dotazy. Nebude třeba psát pro každý trochu odlišný případ novou metodu a nový dotaz, jednoduše si vytvoříme jeden základní a dle potřeby mu budeme říkat co dalšího má vybrat, jaké další podmínky má použít atd.


 

...konec náhledu článku...

Prémiový článek

Prémiový článek

Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.

Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornějšíčlánky, přístupný pouze za body. Nebojte, nestojí to skoro nic :)

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu využijeme pomocné třídy pro skládání DQL dotazů a přidáme možnost vytvářet samotné články. Pokračujeme v CMS v Nette frameworku a Doctrine 2.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 336 bodů
Koupit celý kurz se všemi články a funkcemi za exkluzivní cenu 286 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 15 článkům s kontrolou a certifikací a ještě navíc ušetříš 126 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
286 bodů získáš za přidání svého článku na síť nebo odpovídá 838 Kč 712 Kč

Koupit pouze tento článek

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 28 bodů
Na svém účtu máš aktuálně 0 bodů
28 bodů získáš za přidání svého článku na síť nebo odpovídá 70 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.

Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem

 

Článek pro vás napsal Martin Konečný (pavelco1998)
Avatar
Autor se o IT moc nezajímá, raději by se věnoval speciálním jednotkám jako jsou SEALs nebo SAS. Když už to ale musí být něco z IT, tak tvorba web. aplikací v PHP. Také vyvýjí novou českou prohlížečovou RPG hru a provozuje osobní web http://www.mkonecny.cz
Předchozí článek
CMS v Nette a Doctrine 2 - Kategorie článků
Všechny články v sekci
CMS v Nette a Doctrine 2
Miniatura
Následující článek
CMS v Nette a Doctrine 2 - Vazby mezi entitami
Aktivity (4)