Получить значение в граалях - PullRequest
1 голос
/ 06 ноября 2011
def bid= Book.findAllBy(params.bname)

println(bid.id)

Я получил результат [58]

Как я могу просто получить значение без кавычек?

А как я могу конвертировать 'bid' в целое число?

1 Ответ

8 голосов
/ 06 ноября 2011

Возвращаемое значение findAllBy является списком.В вашем случае этот список содержит только один экземпляр Book.

Использование оператора свойства в списке создает новый список с соответствующими свойствами всех элементов списка.Таким образом, bid.id создает список с целым числом 58 в качестве единственного элемента.Метод toString() объекта списка печатает это как [58].Чтобы получить целочисленное значение, вы должны вызвать bid[0].id (хотя bid.id[0] - более расточительно - также будет работать в этом случае).

В качестве альтернативы вы можете позвонить Book.findBy(params.bname).id.Метод findBy возвращает только один экземпляр.

...