Tôi có một lớp học như thế này:Làm thế nào để Groovy/Grails trả về một danh sách các đối tượng thay vì một danh sách các đối tượng?
class Foo {
static hasMany = [bars: Bar]
}
Khi tôi viết:
Foo.getAll()
tôi nhận được một danh sách các Foo
đối tượng như thế này:
[ Foo1, Foo2, Foo3 ]
Khi tôi viết:
Foo.getAll().bars
tôi nhận được một danh sách liệt kê của Bar
đối tượng như thế này:
[ [ Bar1, Bar2 ], [ Bar2, Bar3 ], [ Bar1, Bar4 ] ]
Nhưng những gì tôi muốn là một danh sách duy nhất của Bar
đối tượng như thế này:
[ Bar1, Bar2, Bar3, Bar4 ]
mục tiêu cuối cùng của tôi là để có một độc đáo danh sách các id của đối tượng Bar
trong danh sách ở trên, như sau:
[ 1, 2, 3, 4 ]
Tôi đã thử các biến thể của collect phương pháp và tôi cũng đã thử các spread operator nhưng tôi không có bất kỳ may mắn.
+1 Điều này rất có thể là cách tốt nhất để thực hiện trong trường hợp này :) – epidemian
Vâng, đã đồng ý :) – David
Cảm ơn tất cả các bạn đã trả lời câu hỏi của bạn. Chúc các bạn có thể upvote tất cả các bạn :) Tôi muốn tránh HQL, nhưng có gần như hoàn thành nhiệm vụ của tôi bằng cách sử dụng tiêu chí, bây giờ tôi tìm thấy pagination được ... phiền hà. Nếu tôi không thể nhận được phân trang để chơi tốt đẹp bằng cách sử dụng tiêu chí tôi sẽ phải đi đến HQL tôi nghĩ. – ubiquibacon