Sequelize поиск, используя включить - PullRequest
0 голосов
/ 31 января 2019

Я хочу сделать запрос с Sequelize, который возвращает строки, которые содержат то, что находится в переменной, используя jquery.

Мой код:

var db = require('../../config/db')
var City= db.sequelize.import('./models/city')
var District = db.sequelize.import('./models/district')
var Address = db.sequelize.import('./models/address')
var User = db.sequelize.import('./models/user')

Address.belongsTo(District,{foreignKey:'district_id'})
District.belongsTo(City,{foreignKey:'city_id'})
User.belongsTo(Address,{foreignKey:'address_id'})

Мне нужен такой запрос: (Этот код не работает)

Когда я запускаю сообщение об ошибке:

" SequelizeDatabaseError: Неизвестный столбец 'district.bairro.nome 'in' where claus ' "

   var paramsSearch = {
      offset: offset, limit: limit_records,       
      include:[{model:District, include:[{District, include:[{model: City}]}]}],
      where: {      
        [Op.or]: [
         {'users.user_name': db.sequelize.where(db.sequelize.fn('LOWER', db.sequelize.col('users.user_name')), 'LIKE', '%' + search + '%')},
         {'address.name': db.sequelize.where(db.sequelize.fn('LOWER', db.sequelize.col('address.name')), 'LIKE', '%' + search + '%')},
         {'address.district.name': db.sequelize.where(db.sequelize.fn('LOWER', db.sequelize.col('addrress.district.name')), 'LIKE', '%' + search + '%')}
        ]
      }   
    }

    Cliente.findAll(paramsSearch)
                .then(results=>{
                    console.log(results) 
                }

Кто-нибудь может мне помочь?

...