كيفية تحليل، لا تزال قائمة واسترداد سلسلة مع به مفصولة بمسافات؟

StackOverflow https://stackoverflow.com/questions/245654

  •  05-07-2019
  •  | 
  •  

سؤال

وقاعدة بياناتي تتكون من 3 الجداول (واحد لتخزين جميع العناصر، واحدة للعلامات، واحدة للعلاقة بين البلدين):

والجدول: آخر الأعمدة: معرف المشاركة، الاسم، تفاصيل

والجدول: الوسم الأعمدة: TagID، اسم

والجدول: PostTag الأعمدة: معرف المشاركة، TagID

ما هي أفضل طريقة لحفظ سلسلة الفضاء فصل (على سبيل المثال "ذكية مضحك رائعة") في جداول قاعدة البيانات 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'

في رائع / الكؤوس المقدسة، وكنت استردادها على شكل قائمة، وربما وصل بهم إلى قائمة الفضاء فصل للعرض.

وإذا لم أنا سوء الفهم حقا هذا السؤال، سوف رائع / الكؤوس المقدسة / GORM التعامل مع هذا مع رمز ضئيلة أو معدومة مع السقالات افتراضي، لا الترميز الحقيقي المطلوب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top