我的數據庫由3個表(一個用於存儲所有項目,一個標籤,一個是兩者之間的關係)的:如何解析,保留和檢索標籤以空格分隔的字符串?
表:郵政 列:帖子ID,名稱,說明
表:標籤 列:標籤識別,名稱
表:PostTag 列:帖子ID,標籤識別
什麼是節省空間分隔的字符串(如「聰明滑稽的精彩」)到顯示的3代數據庫表的最佳途徑以上?
最終我還需要檢索標籤並再次將其顯示爲字符串。謝謝!
我的數據庫由3個表(一個用於存儲所有項目,一個標籤,一個是兩者之間的關係)的:如何解析,保留和檢索標籤以空格分隔的字符串?
表:郵政 列:帖子ID,名稱,說明
表:標籤 列:標籤識別,名稱
表:PostTag 列:帖子ID,標籤識別
什麼是節省空間分隔的字符串(如「聰明滑稽的精彩」)到顯示的3代數據庫表的最佳途徑以上?
最終我還需要檢索標籤並再次將其顯示爲字符串。謝謝!
粗略地說,這樣的事情:
class Post {
static hasMany [tags:Tag]
}
class Tag {
static belongsTo = Post
static hasMany [posts:Post]
}
class someService {
def createPostWithTags(name, desc, tags) {
def post = new Post(name: name, desc: desc).save()
tags.split(' ').each { tagName ->
def tag = Tag.findByName(tag) ?: new Tag(name: tagName)
post.addToTags(tag).save()
}
}
}
如果你有一個標籤表,你不會爲每個標籤有一行嗎?
tag.id = 1; tag.name = 'smart'
tag.id = 2; tag.name = 'funny'
tag.id = 3; tag.name = 'wonderful'
在Groovy/Grails的,你最好檢索它們作爲一個列表,可能它們串聯成顯示空格分隔列表。
除非我真的誤解了這個問題,否則Groovy/Grails/GORM將使用默認腳手架很少或沒有代碼來處理這個問題,不需要真正的編碼。
我同意,你是正確的檢索和顯示標籤。我認爲他被困在如何從1表單字段中取3個單詞並在標記表中插入3條記錄。 – 2008-10-29 14:48:58
你能更詳細一點?您可以在任何字符串列中存儲帶空格的字符串。解析數據並插入數據有問題嗎? – 2008-10-29 03:12:39
你好。我可以將字符串標記爲單獨的單詞,但我不是從這裏開始的最佳方式。 – Walter 2008-10-29 03:54:58