У меня есть два объекта, CarOffer и Car. CarOffer состоит из различных атрибутов, один из которых ссылается на Car. Другими словами, у меня может быть несколько CarOffer, несколько автомобилей, но на CarOffer остается только одна и только одна машина. Автомобиль может присутствовать в нескольких CarOffers. Удаление CarOffer не должно удалять автомобиль, на который он ссылается, и удаление Car не должно быть возможным, если все CarOffers, ссылающиеся на него, также не были удалены.
Обычно я бы просто добавил атрибут CarId в CarOffer, но из документации gorm я чувствую, что должен использовать силу Gorm для добавления объекта Car в CarOffer вместо просто его идентификатора.
Тем не менее, я немного растерялся, я не чувствую, что ни «ownTo», ни «hasOne» действительно соответствуют тому, что я хочу.
Кроме того, как бы я пошел, чтобы создать новый CarOffer?
Я ожидал, что смогу сделать
new CarOffer(carId: 123).save()
но вместо этого я чувствую, что должен сделать:
new CarOffer(car: Car.get(123)).save()
Разве это не создает один дополнительный запрос?