например У меня есть следующие объекты gorm в таблицах.golang gorm выберите все, что не в связанной таблице
user
+----+------+
| id | name |
+----+------+
| 1 | John |
+----+------+
| 2 | Jane |
+----+------+
phones
+----+------+
| id |number|
+----+------+
| 1 | 0945 |
+----+------+
| 2 | 0950 |
+----+------+
| 3 | 1045 |
+----+------+
user_phones
+----+-------+--------+
| id |user_id|phone_id|
+----+-------+--------+
| 1 | 1 | 1 |
+----+-------+--------+
| 2 | 1 | 2 |
+----+-------+--------+
| 3 | 2 | 3 |
+----+-------+--------+
С gorm Я бы хотел выбрать все телефоны, которые не заданы пользователем. Что-то вроде: SELECT * телефонов, где user_phones.user_id = 1 То, что я пробовал:
Gdb.Order("id desc").Where("status = ?", true).Find(&phones).Related("UserPhones").Not("UserPhones.User.ID = ?", user.ID)
Если нужны модели, пожалуйста, дайте структуры мне знать.
Благодарим за любую помощь.
Большое спасибо за это, но я ничего не получил в результате, но мне понадобился номер телефона с идентификатором 3. – user1644033
Я обновил свой ответ с помощью регистрации/проверки ошибок - можете ли вы попробовать еще раз? –
Ahh Мне нужно еще кое-где. Где ("user_phones.id is null"). :) – user1644033