Я разрабатываю код Go, в котором я объединяю таблицы, используя GORM, следуя структурам, которые я для этого определил:
type MpUserFriend struct{
gorm.Model
FriendKey string
SenderId uint
RecieverId uint `gorm:"index"`
Reciever MpUser `gorm:"ForeignKey:RecieverId"`
Status string
}
type MpUser struct{
gorm.Model
FirstName string
MiddleName string
LastName string
Email string `validate:"required,email"`
UserName string `validate:"required"`
UserType string
Status int
}
И следуя тому, как я получаю данные из базы данных:
friend := DbModel.MpUserFriend{}
friends := []DbModel.MpUserFriend{}
DB.Debug().Where("(sender_id = ? and reciever_id != ?) or (sender_id != ? and reciever_id=?)",strconv.Itoa(int(userAuth.UserDetail.ID)),strconv.Itoa(int(userAuth.UserDetail.ID)),strconv.Itoa(int(userAuth.UserDetail.ID)),strconv.Itoa(int(userAuth.UserDetail.ID)) ).Find(&friend)
DB.Debug().Model(&friend).Related(&friend.Reciever,"reciever_id").Find(&friends)
и следуя выводу, я получаю из приведенного выше кода:
[0] => stdClass Object
(
[ID] => 3
[CreatedAt] => 2019-01-09T01:31:49-08:00
[UpdatedAt] => 2019-01-09T01:31:49-08:00
[DeletedAt] =>
[FriendKey] => jFF4tzj5ZG9Vh3l8X6ek6s-JdTWz0_QcrKVYfWrzqgk=
[SenderId] => 7
[RecieverId] => 1
[Reciever] => stdClass Object
(
[ID] => 0
[CreatedAt] => 0001-01-01T00:00:00Z
[UpdatedAt] => 0001-01-01T00:00:00Z
[DeletedAt] =>
[FirstName] =>
[MiddleName] =>
[LastName] =>
[Email] =>
[UserName] =>
[Status] => 0
)
[Status] => 0
)
На самом деле, я не получаю информацию о соответствующем пользователе, пожалуйста, помогите, где я делаю ошибку