Выделить во вложенные структуры с одинаковыми именами столбцов
Выделение во вложенные структуры с одинаковыми именами столбцов с помощью 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
Есть ли возможность для сканера установить соответствующие поля в обеих структурах?