Tengo el siguiente modelo:
class Profile extends Model { ....................... static relationMappings = { finishers: { relation: Model.ManyToManyRelation, modelClass: Move, filter: (query) => query.select('move.id', 'move.type'), join: { from: 'profile.id', through: { from: 'profile_move.profile_id', to: 'profile_move.move_id', extra: { alternative_name: 'name', }, }, to: 'move.id', }, }, }; } Lo que estoy tratando de hacer es obtener solo move.id y move.type de la tabla de move y también el name de propiedad adicional de la tabla unida profile_move . El problema es que si uso un filter o un modificador, solo devuelve move.id y move.type y no la propiedad adicional.
Ruta:
router.get('/', async (req, res, next) => { try { const data = await Profile.query() .orderBy('id') .withGraphFetched('finishers'); res.json(data); } catch (error) { next(error); } });La solución es pasar la propiedad extra para filtrar:
filter: (query) => query.select('move.id', 'move.type', 'profile_move.name'),