Изкарване на статиите от определена категория (java)
Здравейте! Искам да изкарам всички статии от определена категория в проекта ми, обаче нямам идея как ще стане. Някой може ли да ми помогне с това как мога да го направя?
Здравейте! Искам да изкарам всички статии от определена категория в проекта ми, обаче нямам идея как ще стане. Някой може ли да ми помогне с това как мога да го направя?
Варианти много. Зависи как ти е направена entity - архитектурата. Да приемем, че имаш entity Category което в себе си има пропърти колекция от статии -> List<Article> articles; И най - лесния ти вариант би бил да направиш една заявка от сорта на "SELECT c.articles FROM Category AS c WHERE c.name=:name". Съответно ще имаш един деклариран метод в CategoryRepository getAllArticlesFromCategory който ще приема параметер String name и ще връща колекция от Article.
Нещо подобно ще да е:
@Query("SELECT c.articles FROM Category AS c WHERE c.name=:name")
List<Article> getAllArticleFromCategory(@Param("name") String categoryName);
Ако все още ти е трудно да го разбереш ... пусни един гит линк и пиши :)
Успех
Така е на C#. Би трябвало да е аналогично и на Java
Цъкаш върху бутона на желаната категория, и това цъкане те праща към екшън, който листва всчики статии от категорията, като за целта ще трябва да подадеш ID-то на категорията чрез ActioLink-а. Въпросният екшън приема като параметър това айди, взема всички статии от базата, които имат това ай ди за категория и ги записва в променлива. Накрая връщаш вю за листване, на което подаваш като параметър тази променлива.
Добре...може ли да кажеш какви полета има модела ти Category? Ако си го направил както беше показано от Симеон Шейтанов, би трябвало да има поле Set<SomeOtherModel > models..... което поле да има getter -> getModels(). Съответно като си ползваш модела category можеш да му извикаш този метод. Т.е. в CategoryController където имаш някаква логика да намериш определена категория по нейното id. Там тази инстанция на Category може да се достъпи въпросния метод ако ти трябва да променяш данните по някакъв начин преди да ги подадеш на view-то. Ако не искаш да променяш данните (или както ти си ги нарекъл статиите), то тогава във view-то можеш да ги достъпиш през category.моделс (ако така ти се казва ключа, който си подал като първи параметер на model.addAttribute ). Дано правилно съм разбрал въпроса ти.