Używam Grails i mam model domeny z wieloma relacjach hasMany atrybutów do tej samej klasy domeny, która wygląda następująco:Wiele relacje hasMany do tej samej klasy domeny w Grails
static hasMany = [ posts : Post, likes : Post, dislikes : Post ]
problem, że ja Zdarza mi się, że kiedy dodam coś do listy postów, to w jakiś sposób trafi na listy upodobań i antypatii. Przynajmniej tak to wygląda, gdy przeglądam każdą z tych list.
Myślę, że problemem jest to, że ja też mam następującą zależność w mojej domenie Post:
static belongsTo = [ contributer : Contributer ]
Co jest najlepszym sposobem będzie o konfigurowaniu tych relacji, aby moje prace modelu? Jakieś sugestie?
@Wayne,
Próbowałem za pomocą testu, jak również i przeszedł pomyślnie. Jedyne, co mogę myśleć to to, że coś jest nie tak z moją metodą zapisu w moim kontrolerze PostController. Mam wklejony kod relavent poniżej (używam pluginu Wiosna Bezpieczeństwo Core i moja klasa Contributer rozszerza klasę użytkownika, który jest tworzony z tej wtyczki):
@Secured(['IS_AUTHENTICATED_FULLY'])
def save = {
def props = [title:params.title, post:params.post, category:Category.get(params.category.id)]
def user = Contributer.get(springSecurityService.principal.id)
def postInstance = new Post(props)
postInstance.contributer = user
if (postInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'post.label', default: 'Post'), postInstance.id])}"
redirect(action: "show", id: postInstance.id)
}
else {
render(view: "create", model: [postInstance: postInstance])
}
}
Czy jest coś, co wyróżnia się tutaj?
po dodaniu posta do robicie contributer 'myPost.contributer = myContributer' lub 'myContributer.addToPosts (myPost)'? – fixitagain
@fixitagain, dzięki za odpowiedź. Próbowałem obu sposobów, z tym samym rezultatem. – NickForrer