Sequelize-typescript - Parent select child's attributes

Viewed 175

I've a Roles belongTo Appfunctions, I would like to select Appfunctions's name as a Role's attributes, but getting Unknown column 'role->roles.appfunction.name' in 'field list'

    const roleClause = {
      model: Role,
      required: false,
      attributes: ['canRead', 'canWrite', 'canDelete', [sequelize.col("appfunction.name"), "name"]],
      include: [],
    };
    clause.include.push(roleClause);
  
    const appFunctionsClause = {
      model: Appfunctions,
      required: true,
      attributes: [],
      include: [],
      where: {
        isActive: true
      }
    };
    roleClause.include.push(appFunctionsClause);

The code above will generate the query as below:

'role->roles'.'appfunction.name' AS 'role.roles.name'

This is not a valid query in mySQL.

Anyone know why [sequelize.col("appfunction.name"), "name"] not working in this case?

The correct query should be 'role->roles->appfunction'.'name' AS 'role.roles.name'

0 Answers
Related