1

たとえば、テーブルに次の 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 where user_phones.user_id != 1 それが私が試したことです:

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

1 に答える 1