كثير إلى كثير لا يستمرون في تطبيق غسم / جروج

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

  •  05-09-2019
  •  | 
  •  

سؤال

لدي ما يلي تقريبا في غرابتي 1.1 التطبيق

class AppCategory {
    static belongsTo = App
    static hasMany   = [ apps: App ]
    String name
}

class App {
    static hasMany = [ categories: AppCategory]
    String name
}

App app = new App()
AppCategory appCat = AppCategory.findByName('blah')
app.addToCategories(appCat)
app.save()

يتم إنشاء الجداول الصحيحة (التطبيق، App_c_category و App_categories) ويبدو أن الأعمدة كلها بخير، لكنني لا ينتهي بك الأمر بأي سجلات في جدول الرابطة ولا أخطاء. يتم ملء جدول APP_Category وجدول التطبيق بشكل صحيح.

هل أحتاج إلى إدارة كائن مجال يدويا لجدول الجمعيات؟ أو الأفضل من ذلك، هل أنا فقط أفتقد شيئا واضحا تماما؟

هل كانت مفيدة؟

المحلول

حسنا، شيء واحد غير ممثلي في مثالك أعلاه هو أنه لم تقم بإعطاء اسم إلى مثيل التطبيق الخاص بك، على الرغم من أنه حقل مطلوب (حقول الشجاعة لا تكون غير قابلة للغة: False افتراضيا إلا إذا أخبرته صراحة بطريقة أخرى). أراهن إذا قمت بالتحقق

app.hasErrors()

بعد تطبيقك. سترى ()، التي سترى أنها تحتوي على أخطاء يمكنك سردها في مجموعة App.Errors.

خلاف ذلك، ما لديك على ما يرام، وعمل هذا الرمز بشكل جيد بالنسبة لي مع كائنات المجال التي لديك أعلاه:

AppCategory appCat = new AppCategory(name: "blah")    
appCat.save()    
assert !appCat.hasErrors()


App app = new App(name: "testApp")
app.addToCategories(appCat)    
app.save()    
assert !app.hasErrors()
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top