Я получаю это сообщение об ошибке при попытке сопоставить целые ID в моем запросе us Postgres.Недопустимый синтаксис для целого числа
PG::InvalidTextRepresentation:ERROR: invalid input syntax for integer: "matches.team_id"
У меня есть ассоциации на месте.
Stat
belongs_to :player
has_many :matches, foreign_key: 'match_id', primary_key: 'match_id'
Match
has_many :stats
has_many :players, through: :stats
Статистика Контроллер
@player = Player.find(params[:id])
@stats = Stat.where("player_id = ?", @player.id).joins(:matches)
.where('stats.team_id = ?', 'matches.team_id').select('SUM(stats.goals) AS goals')
Мои Спички база данных имеет два match_id
строк, которые являются одинаковыми, и когда я суммирую цели игроков, он находит цели игроков, но при отображении отображается goals
. Так что я решил, что если мой запрос указано, что только найти, где team_id являются одинаковыми, то было бы генерировать только 1 гол за match_id
Матчи DB
|id|match_id|team_id|total_score|
|10| 3433 | 1 | 3 |
|11| 3433 | 2 | 2 |
Статистика дб
|id|match_id|team_id|player_id|goals|
|12| 3433 | 1 | 333 | 1 |
Perfect. Гвоздь, большое спасибо Джим – DollarChills