Как вывести подборку похожих товаров?

Сайт на YII2.
Нужно вывести похожие товары, совсем не могу понять как это сделать. У всех товаров есть категории, жанры и теги, в основном нужно по ним делать отбор.
И я не могу понять как сравнивать текущие жанры и теги со всеми. При этом, что бы не просто, если 1 жанр совпадает, то выводить, а именно что несколько жанров или тегов совпадает.
Объясните пожалуйста логику.
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Напишите отдельный метод, который будет брать из базы похожие товары.
При этом передайте в запрос все id жанров и тегов, которые необходимо вывести.
Как-то так:
public function getSemilarProducts()
{
    if(($models = Products::find()->where(['in', 'id_genre', [1,4,5])->andWhere(['in', 'id_tags', [2,6,5])->limit(5)->all()) !== null){
      return $models;
   }
   else{
        throw new NotFoundHttpException('The requested page does not exist.');
   }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы