Ошибка при соединении при попытке получить его ключ. - PullRequest
0 голосов
/ 13 сентября 2018

Вот моя модель статистики.

Stat(id: integer, points: float, user_id: integer, match_id: integer, team_id: integer)

Для модели команды

Team(id: integer, name: string)

Я получаю сообщение об ошибке teams.name, вот ошибка.

#<ActiveRecord::StatementInvalid: Mysql2::Error: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db-name.teams.name' which is not functionally dependent on columns in GROUP BY clause;

Пример статистики:

{id: 1, points: 2, user_id: 1, match_id: 1, team_id: 1}
{id: 2, points: 3, user_id: 3, match_id: 1, team_id: 2}
{id: 3, points: 4, user_id: 1, match_id: 2, team_id: 1}

Мой текущий код:

 sample = Stat
        .joins(:user)
        .joins(:team)
        .select('teams.name as team_name, users.id as user_id, match_id, SUM(points) as points')
        .where(user_id: params[:user_id])
        .group(:match_id)
        .where.not(match_id: nil)
        .order("match_id DESC")
        .limit(10)
...