Если я правильно понял, то примерно так:
/*
Есть модель Пользователи (Users)
Есть модель Цвета (Colors)
Есть модель Статусы (Statuses)
Есть модель Отзывы (Reviews).
Каждый отзыв может иметь несколько статусов, связь - models.Reviews.belongsToMany(models.Statuses, {through: 'reviews_statuses'});
*/
var statuses = [1,3,5]; // - статусы с идентификатором 1, 3 и 5
var description = "text"; // - текст, которые содержится в Reviews.description
var colors = [2,4]; // - цвета с идентификаторами 2 и 4,
var user = 1; // - идентификатор пользователя
Reviews.findAll({
where: {
description: {
$like: description
}
},
include: [{
model: Statuses,
attributes: ['id'],
where: {
reviews_statuses: {
$in: statuses
}
}
},
{
model: Colors,
attributes: ['id'],
where: {
color_id: {
$in: colors
}
}
},
{
model: Users,
attributes: ['id'],
where: {
id: user
}
}]
});