J'ai une table appelée state_histories avec le contenu suivant :
Type d'entité | entity_id | Statut | Temps de création |
---|---|---|---|
Facture | 1 | Nouveau | 2020-04-16 06:24:50 |
Facture | 1 | Réclamation | 2020-04-16 07:24:50 |
Facture | 2 | Nouveau | 2020-04-16 07:34:50 |
Facture | 2 | Tenez | 2020-04-16 07:44:50 |
Facture | 1 | Paiement | 2020-04-16 08:24:50 |
Facture | 2 | Réclamation | 2020-04-16 09:34:50 |
Je souhaite utiliser la requête Eloquent ou DB pour connaître le délai d'expédition moyen des factures du statut NOUVEAU au statut RÉCLAMATION.
Pour la sortie ci-dessus, cela devrait durer 90 minutes.
Avant de répondre, il serait préférable d'envisager une méthode qui ne nécessite pas de créer une nouvelle ligne pour le nouveau statut de la facture, peut-être ajouter quelques colonnes pour référencer l'heure du changement de statut, pour ainsi dire Vous pouvez obtenir create_at et l'attribuer à Dayname ou Carbon Dans Carbon, utilisez createFromFormat pour l'affectation afin de pouvoir le faire pour les nouveaux et les réclamations. Ensuite, il existe une méthode appelée diffInSeconds que vous pouvez appeler pour obtenir les différences d'une entité. Faites cela pour toutes les entités et additionnez enfin leurs numéros pour obtenir le nombre total d'entités différentes