web-dev-qa-db-fra.com

TypeORM: mettre à jour l'élément et le renvoyer

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
10
sandrooco

Je viens de découvrir que je peux le faire avec le .save méthode:

return this.taskRepository.save({
    ...task,
    state,
    dueDate
});
7
sandrooco

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
});
3
Danny Pule

Une façon consiste à effectuer la mise à jour, puis à effectuer une recherche en fonction de la condition que vous avez spécifiée

0
Chidiebere