}) Expect(err).NotTo(HaveOccurred()) err = db.Create(&Comment{ TrackableId: 1000, TrackableType: "translation", Text: "comment3", }) Expect(err).NotTo(HaveOccurred()) }) Describe("struct model", func() { It("supports HasOne, HasMany, HasMany2Many, Polymorphic, HasMany -> Polymorphic", func() { var book Book err := db.Model(&book). Columns("book.id", "Author.id", "Editor.id", "Genres.id", "Comments", "Translations", "Translations.Comments"). First() Expect(err).NotTo(HaveOccurred()) Expect(book.Id).To(Equal(100)) Expect(book.Author.ID).To(Equal(10)) Expect(book.Genres).To(HaveLen(2)) genre := book.Genres[0] Expect(genre.Id).To(Equal(1)) genre = book.Genres[1] Expect(genre.Id).To(Equal(2)) Expect(book.Translations).To(HaveLen(2)) translation := book.Translations[0] Expect(translation.Id).To(Equal(1000))