7. diel - Cms v Nette a Doctrine 2 - Vytváranie článkov
V minulej lekcii, Cms v Nette a Doctrine 2 - Kategórie článkov , sme sa venovali vytváranie kategórií článkov a refaktoring. V dnešnom Nette tutoriále si ukážeme, čo sú to pomocné triedy pre skladanie DQL otázok, ako fungujú a nakoniec pridáme možnosť vytvárania samostatných článkov.
Pomocné triedy pre skladanie DQL dotazov
Základom je trieda Kdyby\Doctrine\QueryObject
, od ktorého
budú všetky naše triedy dediť. Všetky tieto triedy potom musí obsahovať
metódu doCreateQuery()
, ktorá sa postará o zložení dotazu a
vrátenie objektu QueryBuilder
. Vďaka tomu bude možné
repositářům odovzdávať objekt týchto tried, pridávať im rôzne filtre
či ďalšie select a zefektívniť tak DQL otázky. Prí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 nejako budú môcť vyzerať všetky naše otázky. Nebude potrebné písať pre každý trochu odlišný prípad novú metódu a nový dotaz, jednoducho si vytvoríme jeden základný a podľa potreby mu budeme hovoriť čo ďalšie má vybrať, aké ďalšie podmienky má použiť atď.
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium III, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriále využijeme pomocné triedy pre skladanie DQL otázok a pridáme možnosť vytvárať samotné články. Pokračujeme v CMS v Nette frameworku a Doctrine 2.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.