Выделить во вложенные структуры с одинаковыми именами столбцов

Выделение во вложенные структуры с одинаковыми именами столбцов с помощью sqlx в наборе наборов заливок Голанга только в одной из вложенных структур.

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

type Message struct {
    Id uint64 `db:"msg_id"`
    UserId uint64 `db:"usr_id"`
    ...
}

type User struct {
    Id uint64 `db:"usr_id"`
    Title string `db:"usr_title"`
    ...
}

type MessageWithUser struct {
    *Message
    *User
}

var res MessageWithUser
db.Select(&res, "SELECT messages.*, users.* FROM messages JOIN users ON messages.usr_id = users.usr_id")

fmt.Println(res[0].Message.UserId) // 5
fmt.Println(res[0].User.Id) // 0

Есть ли возможность для сканера установить соответствующие поля в обеих структурах?

0 ответов

Другие вопросы по тегам