다음 콘텐츠가 포함된 state_histories라는 테이블이 있습니다.
엔티티 유형 | entity_id | 상태 | 제작시간 |
---|---|---|---|
송장 | 1 | 새로운 | 2020-04-16 06:24:50 |
송장 | 1 | 청구 | 2020-04-16 07:24:50 |
송장 | 2 | 새로운 | 2020-04-16 07:34:50 |
송장 | 2 | 기다려 | 2020-04-16 07:44:50 |
송장 | 1 | 결제 | 2020-04-16 08:24:50 |
송장 | 2 | 청구 | 2020-04-16 09:34:50 |
Eloquent 또는 DB 쿼리를 사용하여 NEW 상태에서 CLAIM 상태까지 인보이스의 평균 배송 시간을 확인하고 싶습니다.
위 출력의 경우 90분이어야 합니다.
P粉7665209912024-04-05 13:24:41
답변하기 전에, 송장의 새 상태에 대해 새 행을 생성할 필요가 없는 방법, 말하자면 상태 변경 시간을 참조하기 위해 일부 열을 추가하는 방법을 고려하는 것이 좋습니다. Create_at을 가져와 Dayname 또는 Carbon에 할당할 수 있습니다. Carbon에서는 할당에 createFromFormat을 사용하여 신규 및 청구에 대해 수행할 수 있습니다. 그런 다음 엔터티의 차이점을 가져오기 위해 호출할 수 있는 diffInSeconds라는 메서드가 있습니다. 모든 엔터티에 대해 이 작업을 수행하고 마지막으로 숫자를 추가하여 다양한 엔터티의 총 수를 얻습니다