Sequelize Dynami c выбрать атрибуты? работает? - PullRequest
0 голосов
/ 30 марта 2020

сталкивается с такой проблемой, как - действительно ли возможно передать динамические c атрибуты выбора методу FindAll? Он не работает, так как не распознается.

selectAttributes= "'x_name','y_name','z_name','start_z'"; //prepare this dynamically
groupBy = ['x_name','y_name','z_name','start_z','start_z']       
const results =  await XX.findAll({
        group:groupBy,           
        attributes:['x_name','y_name','z_name','start_z','start_z',
                                    [Sequelize.fn(Constants.SEQUELIZE_SUM_FUNCTION, 
                                      Sequelize.col(obj.metrics)),obj.metrics]],

        where:result.where , //I have this built dynamically which works great
        order: result.order,//I have this built dynamically which works great

    });

// приведенный выше код работает и получает все столбцы в select. но я хотел передать столбцы динамически вместе с группой и где и упорядочить; Я был успешным с где / orderby / group, но не выбрать атрибуты. Я делал строку и передавал ее как атрибут select, но он не распознает ее и возвращает только столбец SUM в приведенном выше коде.

Как можно обобщить атрибуты SELECT для FindALL?

1 Ответ

0 голосов
/ 01 апреля 2020

возможно, это поможет другим, кто хочет построить динамический c выбор атрибутов.

selectAttributes= build your array here dynamically //prepare this dynamically groupBy = ['x_name','y_name','z_name','start_z','start_z']<br> const results = await XX.findAll({ group:groupBy,<br> attributes:[...selectAttributes, [Sequelize.fn(Constants.SEQUELIZE_SUM_FUNCTION, Sequelize.col(obj.tasks)),obj.tasks]], where:result.where , //I have this built dynamically which works great order: result.order,//I have this built dynamically which works great });

...