je cherche a intégrer une date dans mon Model. Je le fais de cette manière :
@Field(key: « date »)
var date: Date
dans Paw, je fais un Create et la date passe si je respecte bien le format SO8601-formatted.
Par contre le serveur me transforme cette date:
1998-12-20T00:39:57Z
en ceci ;
914114397
Ensuite, si je fais un get pour obtenir la liste ( de la même manière que dans le cour), il y a une erreur 500 :
« error »:true,« reason »:"invalid field: date type: Date error: typeMismatch(Foundation.Date, Swift.DecodingError.Context(codingPath: [], debugDescription: « Could not initialize Date from 851042397. », underlyingError: nil))
Je ne trouve pas d’info sur le sujet.
Peut être que je ne peux pas utiliser un format date?
Si quelqu’un a une réponse, je suis preneur.
merci
Non, il s’agit d’un événement avec un titre et une date. j’aimerais pouvoir rentrer la date de l’événement. Donc une date futur choisi par l’utilisateur, qui en plus de de rappeler la date à l’utilisateur me permettrais de trier les différents événements à venir dans un tableau.
En résumé : une date choisie -> sauvegarder dans la BDD -> la récuperer pour l’afficher.
Sachant, que je début avec Vapor, je ne sais pas tout et je ne sais pas si, c’est la meilleure solution non plus, d’autant plus que Vapor 4 est récent donc, encore difficile de trouver des réponses.
Après cette parenthèse, toujours dans ton Model dans le init, as-tu bien mis :
init(data:Date) {
self.date = date
}
et dans Migration dans la fonction prepare as-tu ajouté cette ligne :
.field("date", .datetime)
EDIT BONUS :
Si, tu veux connaitre quand les données ont été créées et quand elles sont mises à jour, voilà ce qu’il faut faire :
Dans le Model :
@Timestamp(key: "created_at", on: .create)
var createdAt: Date?
@Timestamp(key: "updated_at", on: .update)
var updatedAt: Date?