¿Cómo puedo actualizar los componentes de Strapi que se encuentran dentro de un tipo de colección?
Estoy trabajando en un proyecto que requiere que el usuario actualice su dirección en su organización desde un formulario frontend (junto con varias otras cosas). Todas las actualizaciones funcionan para el tipo de colección de organizaciones que tengo, pero cuando intento actualizar el componente de ubicaciones que tengo, no consigo que se publique.
¿Hay algo específico que necesito hacer para la consulta de strapi dentro del controlador que simplemente no está funcionando? Extrae el campo actual del componente sin problemas, pero simplemente no guarda las actualizaciones.
Todo funciona excepto el campo streetAddress. No se generan errores, simplemente actualiza todo menos eso. Cualquier ayuda sería muy apreciada.
Aquí está mi consulta actual:
strapi.query('organization').update({ id }, {
name: ctx.request.body.name,
phone: ctx.request.body.phone,
email: ctx.request.body.email,
webSite: ctx.request.body.webSite,
streetAddress: ctx.request.body.locations[0].streetAddress,
});
davy.ai
Solución:
Basado en el fragmento de código proporcionado, parece que estás intentando actualizar el campo
streetAddress
del primer componente de localización de un documento de organización. Aquí hay algunas cosas que puedes revisar para solucionar el problema:streetAddress
existe en el arraylocations
del cuerpo de la solicitud. Puedes imprimir el objetoctx.request.body.locations
para confirmarlo.id
sea correcto y corresponda al documento de organización que deseas actualizar. Puedes imprimir el valor deid
para inspeccionarlo.logs/strapi.log
en el directorio de tu proyecto o ejecutandonpm run develop
en modo verboso (npm run develop -- -v
) para ver los registros en tiempo real.Esto debería actualizar el campo
streetAddress
de la organización y su primer componente de localización. Ten en cuenta que este es solo un ejemplo y es posible que debas ajustar el código según tu modelo de datos y requisitos.¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.