Я хотел бы получить результат сырого sql-запроса. Запрос следующий
res := []response.UserListByDivisionMember{}
db.Raw(`SELECT
parentPosFlat.posParentCode AS departmentFlatId,
employee.gsId,
employee.email,
CONCAT(employee.firstname,
', ',
employee.lastName) AS userName,
division.externalCode AS departmentId,
division.name AS departmentName,
position.code AS positionId,
position.name AS positionName,
gsRoom.name AS room,
gsRoom.id AS roomId
FROM
division
JOIN
position AS parentPosition ON division.externalCode = parentPosition.department
JOIN
positionInPositionFlat AS parentPosFlat ON parentPosition.code = parentPosFlat.posParentCode
JOIN
position ON parentPosFlat.posChildCode = position.code
JOIN
employee ON position.code = employee.position
LEFT JOIN
gsRoom ON employee.gsRoomId = gsRoom.id
WHERE
division.externalCode = ?`, divisionId).Scan(&res)
Результат запроса имеет такую структуру
Я хотел бы привязать результаты к следующей структуре:
type UserListByDivisionMember struct {
DepartmentFlatId string `json:"departmentFlatId"`
GsId string `json:"gsId"`
Email string `json:"email"`
UserName string `json:"userName"`
DepartmentId string `json:"departmentId"`
DepartmentName string `json:"departmentName"`
PositionId string `json:"positionId"`
PositionName string `json:"positionName"`
Room string `json:"room"`
RoomId string `json:"roomId"`
}
После выполнения операции сканирования запроса я вижу в консоли, что запрос вернул 50 строк, что является правильным, но когда я отлаживаю приложение, результат содержит только поле адреса электронной почты из структуры. Я уже пытался изменить имена с маленькой версии на заглавную, но результат тот же.