Это основано на отношении Принадлежит . Две структуры определены как:
type User struct {
gorm.Model
Profile Profile
ProfileID int
}
type Profile struct {
gorm.Model
Name string
}
Цель состоит в том, чтобы выбрать всех пользователей с указанным именем профиля. То, что я ищу, является эквивалентом этого оператора SQL:
select * from users
join profiles on users.profile_id = profiles.id
where profiles.name = 'foo'
Я, очевидно, могу использовать явные утверждения как join
или profile_id IN (?)
. Есть ли хороший способ GORM, основанный на методах и моделях?