例如,我在表中有以下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 * phones其中user_phones.user_id!= 1这就是我尝试的内容:

Gdb.Order("id desc").Where("status = ?", true).Find(&phones).Related("UserPhones").Not("UserPhones.User.ID = ?", user.ID)

如果需要,模型结构请告诉我 .

谢谢你的帮助 .