So im Wesentlichen habe ich zwei Klassen:grails .removeFrom, wenn das Objekt an anderer Stelle in der Klasse existiert
Class User {
String Name
}
Class Project {
User requestedBy
static hasMany =
[
assignedTo: User
]
}
Jetzt kann ich die requestedBy gesetzt zu sagen, Benutzer 1. ich auch Project.addToAssignedTo tun kann (User 1).
Das Problem kommt, wenn ich den Benutzer von zugewiesen entfernen möchte, wenn sie bereits als requestedBy vorhanden sind. Ich kann anderen Benutzern entfernen, ohne Problem:
Project.removeFromAssignedTo (Benutzer 1) .save (FailOnError: true, bündig: true)
ich keine Fehler irgendwelcher Art erhalten, wird die Daten einfach nicht entfernt bekommen . Jede Hilfe wäre willkommen!
Danke!
Es beschwerte sich über einen Besitzer nicht definiert definiert. Ich definierte den Besitzer und es gab immer noch den gleichen Fehler. Wirklich, obwohl es keinen Eigentümer geben sollte. Ein Projekt gehört nicht einer einzelnen Person, und sicherlich gehört ein Benutzer keinem Projekt. Irgendwelche Ideen? –
'gehört zu 'bedeutet nicht eins zu viele oder eins zu eins. Es hat mehr mit der Definition der "verantwortlichen" Domain-Klasse zu tun. Die 'goesTo'-Klasse ist diejenige, die für das Speichern von Beziehungen in einem Viele-zu-Viele-System verantwortlich ist. Siehe [die Dokumente für mehr] (http://grails.org/doc/2.0.x/ref/Domain%20Classes/belongsTo.html). Versuchen Sie, 'anObjectsTo' zur' Project'-Klasse hinzuzufügen und sehen Sie, ob das hilft. 'static gehört zu = [requestedBy: User, assignedTo: User]' – OverZealous