NOVINKA: Kurz kybernetické bezpečnosti s akreditací MŠMT, nyní již od 0 Kč. Staň se žádaným profesionálem. Zjisti více:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

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

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

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

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.

Kredity 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íť.

Článek pro vás napsal Martin Konečný
Avatar
Podpis
Aktivity