保存时,多对多的域关系

时间:2015-12-24 21:09:10

标签: grails

我有2个域名,他们之间的关系是一对多,广告:

class Advertisement {

String adDetails
String adTitle
Category category


static belongsTo = [user:Users]
static hasMany=[adsPhotos:Photos] 
}

域名照片:

class Photos {
Date dateCreated
byte [] photo
Date lastUpdated



static belongsTo =[users:Users,ads:Advertisement,profiles:Profile]
 }

在制作广告时,您可能需要上传图片,因此广告制作页面中有一个链接可以转到照片创建页面,如图所示:

Image

当用户返回广告创建页面并填写字段并保存时,如何暂停照片域名保存,因为照片对象需要广告ID,因此我无法保存照片,直到广告为止保存。 所以我怎么能做到这一点,或者可能有人有更好的想法,而不是我达到的目标

1 个答案:

答案 0 :(得分:0)

根据您的示例代码,您实际上拥有从AdvertisementPhoto的一对多。多对多需要在关联的两侧hasMany。使用多对多,您可以独立于Photo创建Advertisement。您可以看到多对多here的示例。

对于视图,导航到另一个视图然后返回同时保留上下文(未保存的Advertisement)将是棘手的。您可以使用 Flash范围制作一些内容,但请查看Spring Web Flow plugin是否符合您的要求。