2010-04-22 73 views
0

我目前正在嘗試創建一個友誼域對象來鏈接兩個用戶對象(帶有一些額外的數據:createDate,confirmedStatus)。我的域模型如下所示在Grails中,如何創建一個域模型來鏈接另一個模型的兩個?

class Friendship { 

User userOne 
User userTwo 
Boolean confirmed 
Date createDate 
Date lastModifiedDate 

static belongsTo = [userOne:User , userTwo:User] 

static constraints = { 
userOne() 
userTwo() 
confirmed() 
createDate() 
lastModifiedDate() 
} 
} 

我還添加以下條目用戶類

static hasMany = [ friendships:Friendship ] 
static mappedBy = [ friendships:'userOne' , friendships:'userTwo' ] 

當我這樣做,其結果是創造了一個新的友誼(和可見通過控制器),兩個用戶都在各自的地方列出。當我查看userOne的詳細信息時,我看到了列出的friedship。當我查看userTwo的細節時,沒有列出友誼。這不是我預期的行爲。我做錯了什麼?爲什麼我看不到兩個用戶列出的友誼?

回答

1

您已經在Friendship類中聲明瞭userOneuserTwo屬性兩次。一旦在這裏:

static belongsTo = [userOne:User , userTwo:User] 

而且在這裏再次:

User userOne 
User userTwo 

你的友誼類更改此

class Friendship { 

    Boolean confirmed 
    Date createDate 
    Date lastModifiedDate 

    static belongsTo = [userOne:User , userTwo:User] 

    static constraints = { 
    userOne() 
    userTwo() 
    confirmed() 
    createDate() 
    lastModifiedDate() 
    } 
} 
+0

好像沒有所作爲,友誼仍然只看到作爲財產之一的朋友。 – gerges 2010-04-23 00:34:41

相關問題