Question

Il faut espérer que ce sera facile de répondre. J'ai créé une classe dans Grails appelé joueur qui a cette information:

class Player {
 String steamId
 String name
 String portrait
 static hasMany = {playerStatistics:PlayerStatistics}
 static hasOne = {playerForumProfile:PlayerForumProfile}
}

Pour plus de précisions, un objet de joueur peut avoir un objet PlayerForumProfile, mais l'objet joueur est toujours créé AVANT l'objet PlayerForumProfile. Mon problème avec l'accès à l'objet playerForumProfile associé à la propriété « hasOne » dans le contrôleur de la classe PlayerForumProfile. J'avais supposé que faire ceci:

    def playerForumProfileInstance = new PlayerForumProfile()
    def playerInstance = Player.get(params.id)

    playerForumProfileInstance = playerInstance.playerForumProfile

CREERAIENT en tirant l'objet PlayerForumProfile associé à l'objet playerInstance dans la variable playerForumProfileInstance, mais lorsque je tente cela, Grails renvoie une erreur me disant qu'il n'y a pas que ces biens playerForumProfile. Est-il possible d'accéder aux propriétés hasOne de l'objet de telle manière ou dois-je faire autre chose?

Edit: J'ai aussi essayé de modifier la classe du joueur comprenait donc une variable appelée playerForumProfile et PlayerForumProfile d'édition il avait une déclaration belongsTo , mais cela a gardé pour résultat un nul exception de pointeur lors de l'exécution de mon application.

Edit: Un peu plus d'info, je créé une nouvelle application Grails à partir de zéro et a créé la relation la façon dont il apparaît dans la documentation Grails et il a couru sans problème, donc je pense qu'il peut être plus facile de commencer une nouvelle application et copiez les fichiers sur.

Était-ce utile?

La solution

Cette réponse est non plus correct pour Grails 2.X et plus, il est vrai en 2009 quand répondu à l'origine.

Il n'y a pas "hasOne" propriété Gorm, il est soit belongsTo:

static belongsTo = [playerForumProfile: PlayerForumProfile]

ou juste une définition typée régulière du nom d'attribut s'il n'y a pas une relation en cascade sous-entendus par belongsTo:

PlayerForumProfile playerForumProfile

Voir la un -à-une documentation GORM pour plus de détails.

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top