Estoy intentando portar una aplicación que había usado la secuencia 3.30.4 y estoy actualizando a 6.13, asumo que algunas cosas han cambiado porque no puedo usar literales de cadena en una cláusula where, o eso me dice el depurador.
Dicho esto, busqué en Google y encontré algunos ejemplos básicos que tienen sentido, pero no estoy completamente seguro de cómo convertir esta cadena a un formato aceptable para que findAndCountAll sea feliz.
Intenté algo como esto, pensando que al menos podría indicarme la dirección correcta, pero no es así.
let attributes = ['id', 'name', 'locationId']; let where = undefined; let order = [['name', 'ASC']]; where = { classroom: { locationId: request.query.locationId } }esta es la línea que alguna vez funcionó pero ya no funciona.
where = `"classroom"."locationId" = ${request.query.locationId}`; const classrooms = await model.classroom.findAndCountAll(_.assign({}, requestHelper.computePaginationObject(request.query.limit, request.query.page), { attributes, where: where ? [where] : undefined, order }));¿Cómo haría para portar esto al formato adecuado?
Prueba algo como esto:
let where = {} if (<some condition>) { where = { locationId: request.query.locationId } } const classrooms = await model.classroom.findAndCountAll(_.assign({}, requestHelper.computePaginationObject(request.query.limit, request.query.page), { attributes, where: where, order }));También puedes probar que incluso si el primer comentario de ANATOLY funciona de maravilla:
const where = <some condition> ? {locationId: request.query.locationId} :{}; const classrooms = await model.classroom.findAndCountAll(_.assign({}, requestHelper.computePaginationObject(request.query.limit, request.query.page), { attributes, where, order }));