簡體   English   中英

如何在Groovy中將多個對象添加到對象屬性? —在Bootstrap.groovy中

[英]How do you add multiple Objects to an Object Attribute in Groovy? — In Bootstrap.groovy

在Grails中創建一個簡單的采購訂單應用程序,我在其中擁有類別(例如:電視,視頻...),品牌和商品。 品牌與(hasMany)類別相關聯,例如Sony制造視頻和電視。

在Bootstrap.groovy中,我想執行以下操作:

Brand jvc = new Brand(name:"JVC")
Brand sony = new Brand(name:"Sony")
Brand samsung = new Brand(name:"Samsung")

Category tv = new Category(name:"Television")
Category video = new Category(name:"Video")
Category laptop = new Category(name:"Laptop")

sony.categories.(tv)   ----> These methods are wrong
sony.addCategory(video) ----> These methods are wrong
sony.addCategory(laptop)

如何將品牌與多個類別相關聯? 請注意,我嘗試了許多不同的方法模板,但均無效果。 Brand類中的屬性為靜態hasMany [categories:Category]。

當您具有static hasMany = [categories:Category]這會將Set命名categories添加到您的類,並添加一個動態方法addToCategories來完成您想要的工作。 如果集合為空,它將初始化集合(新實例將是這種情況),然后將實例添加到集合,如果是雙向的,它將設置反向引用。 所以最后三行應該是

sony.addToCategories(tv)
sony.addToCategories(video)
sony.addToCategories(laptop)

用戶指南和有關Grails的每本書都對此進行了描述,因為它是映射集合的非常基本的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM