Я работаю над приложением рельсов. У меня есть три модели:
модель продукта
id | product_name| product_description
Модель пользователя
id | name | location | timestamp
Модель покупок
id | product_id | user_id | location
Теперь в моем приложении пользователь может искать разные товары.Предположим, что описание продукта - xyz, и кто-то из Нью-Йорка купил его.Итак, теперь я хочу искать таким образом, что если кто-то ищет xyz, будут возвращены записи из таблицы продуктов, а также, когда кто-то ищет Нью-Йорк, он должен вернуть весь продукт, купленный в Нью-Йорке.
Iсоздали представление таблицы продуктов и моделей покупок следующим образом.
SELECT DISTINCT product.id , product.description , shopping.location
FROM product LEFT JOIN shopping ON product.id = shopping.product_id group by product.id, product.description,shopping.location
Я использую текстильный драгоценный камень для поиска в этом представлении.
Но проблема с вышеуказаннымПредположим, что 10 человек из 10 разных мест купили продукт XYZ, тогда в наборе результатов для поиска по описанию продукта будут найдены повторяющиеся результаты.Как избежать такого дублирования?Пожалуйста, помогите.