【发布时间】:2021-08-26 00:33:31
【问题描述】:
我有这些模型
type Message struct {
gorm.Model
UserID uint `json:"userId"`
User userModels.User
Content string `json:"content"`
}
type Receiver struct {
gorm.Model
UserID uint `json:"userId"`
User userModels.User
FirstName string `json:"firstName"`
LastName string `json:"lastName"`
Email string `json:"email"`
Address string `json:"address"`
Phone string `json:"phone"`
}
type Delivery struct {
gorm.Model
Message Message `json:"message"`
MessageID uint `json:"messageId"`
Receiver Receiver `json:"Receiver"`
ReceiverID uint `json:"receiverId"`
DeliveryDate time.Time `json:"deliveryDate"`
Sent bool `json:"sent"`
}
我在数据库中插入了一些带有特定 MessageID 和 ReceiverID 的 Delivery。当我查询某个 Delivery 时,我希望获得 ID 为 MessageID 和 Receiver 为 ReceiverID 的相关消息。 但我得到的是一个带有空 Message 和 Receiver 对象的 Delivery。
这是我得到的:
{
"ID": 2,
"CreatedAt": "2021-08-26T04:44:33.366628+04:30",
"UpdatedAt": "2021-08-26T04:44:33.366628+04:30",
"DeletedAt": null,
"message": {
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null,
"userId": 0,
"User": {
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null,
"firstName": "",
"lastName": "",
"email": "",
"password": "",
"country": "",
"dateOfBirth": "0001-01-01T00:00:00Z",
"rank": "",
"gender": "",
"plan": ""
},
"content": ""
},
"messageId": 2,
"Receiver": {
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null,
"userId": 0,
"User": {
"ID": 0,
"CreatedAt": "0001-01-01T00:00:00Z",
"UpdatedAt": "0001-01-01T00:00:00Z",
"DeletedAt": null,
"firstName": "",
"lastName": "",
"email": "",
"password": "",
"country": "",
"dateOfBirth": "0001-01-01T00:00:00Z",
"rank": "",
"gender": "",
"plan": ""
},
"firstName": "",
"lastName": "",
"email": "",
"address": "",
"phone": ""
},
"receiverId": 1,
"deliveryDate": "2021-08-25T05:18:27.950457+04:30",
"sent": false
}
虽然我希望它返回带有我指定的 messageId 的消息以及接收者
【问题讨论】: