Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sailsjs Mysql ORM consulta múltipla no mesmo campo de tabela


Para fazer isso com base em como a linha d'água funciona, você precisa de campos diferentes para pesquisar.

Você pode fazer isso criando atributos de alias em seu modelo.
venue.js
module.exports.attributes = {
    restaurant_services:'string',
    restaurant_services_1: {type:'string',columnName: 'restaurant_services'}
    restaurant_services_2: {type:'string',columnName: 'restaurant_services'}
    restaurant_services_3: {type:'string',columnName: 'restaurant_services'}
    restaurant_services_4: {type:'string',columnName: 'restaurant_services'}
    restaurant_services_5: {type:'string',columnName: 'restaurant_services'}
}

Então você pode fazer
Venue.find().populate('comments', {
        deleted: false
    }).where({
            restaurant_services: {contains: '"delivery":1'},
            restaurant_services_1: {contains: '"takeout":1'},
            restaurant_specialties: {contains: '"breakfast":1'}
    })

É hacky, mas funciona