Как мне вставить в карту значения, которые я получаю из findAllBy? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь вставить в карту значения, полученные из метода findAllBy.

Я попытался использовать функцию each, а затем put, чтобы вставить значения в карту следующим образом:

def carousel
def links = [:]
carousel = Carousel.findAllByLang(lang)
carousel.each{
    links.put(
        "image" = it.urlImage
        "url" = it.urlLink
    )
}

Я пытаюсь воспроизвести то, что делает этот код, но без жестко закодированных URL:

links = [
    [
        image: 'https://first.url.jpg',
        url  : 'https://www.first.link.com'
    ],
    [
        image: 'https://second.url.jpg',
        url  : 'https://www.second.link.com'
    ],

    ...
]

но я не получаю ожидаемых результатов. С содержимым объекта карусели все в порядке, я просто не могу вставить значения внутри карты по желанию.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 09 апреля 2019

Я думаю, что главная проблема в том, что я не очень хорошо представлял себе структуры данных, с которыми работал. Это решило это:

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...