Rails 5 группировка по принадлежности - PullRequest
0 голосов
/ 01 марта 2019

У меня есть модель sale_selection, которая принадлежит как purchase, так и sale.

. В запросе Postgres я пытаюсь выполнить поиск по некоторым параметрам, группируя продажу item_name, а затем получаюсредняя цена.

Я получаю следующую ошибку:

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "sale"

Контроллер

@search = Purchase.where('extract(year from sale_year) >= ?', params[:select_year])
.joins(:region).where('regions.name = ?', params[:select_region])
.joins(sale_selections: :sale).group('sale.item_name').select('sale.item_name, AVG(sale.price) as price')

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Предполагается, что вы придерживаетесь таблицы с рекомендациями по рельсам: sales вместо sale

@search = Purchase.where('extract(year from sale_year) >= ?', params[:select_year])
.joins(:region).where('regions.name = ?', params[:select_region])
.joins(sale_selections: :sale).group('sales.item_name').select('sales.item_name, AVG(sales.price) as price')
0 голосов
/ 01 марта 2019

Требуется внести исправления в имя таблицы, указанное в запросе (sales вместо sale), как показано ниже,

@search = Purchase.where('extract(year from sale_year) >= ?', params[:select_year])
.joins(:region).where('regions.name = ?', params[:select_region])
.joins(sale_selections: :sale).group('sales.item_name').select('sales.item_name, AVG(sales.price) as price')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...