Problème pour récupérer le champ updated_at de ma BDD

Fermé
Toto - 31 oct. 2016 à 09:52
 Toto - 2 nov. 2016 à 11:48
Bonjour,

J'aimerais récupérer à partir de mon contrôleur, la date de modification de tous les comptes présents dans ma table Account de ma Base De Données.

Cela me servira ensuite dans le but de comparer deux dates (date du jour et la date de modification de chaque compte) pour ensuite les marquer comme expiré si la différence dépasse 365 jours.

Merci d'avance.

1 réponse

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
31 oct. 2016 à 10:24
Bonjour

je ne peux pas t'aider si je ne sais comment est faite la table Account.
Mets nous plus d'info.

@+
0
Bonjour,

La table Acccount est faite de 5 champs (login, password, is_active, created_at et updated_at). Le champ updated_at (celui qui nous intéresse donc le seul que j'ai donné vu que les autres tu n'en auras surement pas besoin pour me dépanner) représente la date de modification du champs (la dernière date si tu préfère à laquelle il a été modifié).

Je cherche donc comment récupérer à l'aide d'une requête dans mon contrôleur (ou dans mon repository que j’appellerai ensuite dans mon contrôleur) ce champ updated_at pour chacun de mes comptes présents dans la BDD
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
31 oct. 2016 à 11:43
Ok

Voilà comment récupérer les utilisateurs et leur date de mise à jour

Select login, updated_at
From Acccount ;

Fais attention, je ne vois pas de clé primaire dans ta table.
Si tu veux que le login soit la clé primaire, il faut mettre une sécurité (si le login existe déjà, on ne peut créer un autre compte avec ce login)
0
Ma clé primaire est l'ID généré automatiquement par SQL.

Par contre ce sont leschamps updated_at de chaque "Compte" et non pas de chaque "Utilisateur".

Mais ta requete je l'intègre comment dans mon contrôleur ?
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
31 oct. 2016 à 12:04
Tu peux exécuter directement la requête dans la base de données.
0
Oui mais c'est pas ce que je veux faire .. ^^ Je veux le faire dans mon repository de mon entité ou alors directement dans mon contrôleur !


Voilà ce que j'ai fais pour le moment mais j'ai une erreur qui apparaît :
$em = $this->getEntityManager();
        
        $query =  $em->createQuery('
            SELECT updated_at FROM AppBundle:Account account
            WHERE account.updated_at = :updated_at
        ')
            ->setParameter('updated_at', $updated_at);
        
        return $query->getResult();


Voici mon erreur : [Semantical Error] line 0, col 20 near 'updated_at FROM': Error: 'updated_at' is not defined.
0