我正在尝试将通过findAllBy
方法获得的值插入地图。
我尝试使用each
函数,然后使用put
将值插入地图,如下所示:
def carousel
def links = [:]
carousel = Carousel.findAllByLang(lang)
carousel.each{
links.put(
"image" = it.urlImage
"url" = it.urlLink
)
}
我正在尝试重现此代码的作用,但没有硬编码的网址:
links = [
[
image: 'https://first.url.jpg',
url : 'https://www.first.link.com'
],
[
image: 'https://second.url.jpg',
url : 'https://www.second.link.com'
],
...
]
但是我没有得到预期的结果。轮播对象的内容很好,我只是无法根据需要在地图内插入值。
感谢您的帮助。
答案 0 :(得分:1)
我认为主要的问题是我对使用的数据结构没有一个很好的了解。 解决了它:
def carousel
def links = []
carousel = Carousel.findAllByLangAndActive(lang,true,[sort:"sequence", order: "asc"])
carousel.each {
def map = ["image":it.urlImage, "url":it.urlLink]
links << map
}