Pour autant que je sache, il est recommandé de retourner un article après sa mise à jour. updateById
de TypeORM renvoie void
, mais pas l'élément mis à jour.
Ma question: est-il possible de mettre à jour et de renvoyer l'article modifié sur une seule ligne?
Ce que j'ai essayé jusqu'à présent:
await this.taskRepository.updateById(id, { state, dueDate });
return this.taskRepository.findOne({ id });
Ce que je cherche:
return this.taskRepository.updateById(id, { state, dueDate }); // returns updated task
Je viens de découvrir que je peux le faire avec le .save
méthode:
return this.taskRepository.save({
...task,
state,
dueDate
});
Pour développer la réponse de sandrooco, voici ce que je fais:
const property = await this.propertyRepository.findOne({
where: { id }
});
return this.propertyRepository.save({
...property, // existing fields
...updatePropertyDto // updated fields
});
Une façon consiste à effectuer la mise à jour, puis à effectuer une recherche en fonction de la condition que vous avez spécifiée