Ошибка при создании Mysql Table Join с использованием Structs - PullRequest
0 голосов
/ 09 января 2019

Я разрабатываю код 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
                    )

На самом деле, я не получаю информацию о соответствующем пользователе, пожалуйста, помогите, где я делаю ошибку

...