我有一個名為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
在回答之前,最好考慮一種不需要為發票的新狀態建立新行的方式,也許可以添加一些列來引用狀態變更的時間,這樣說來 你可以取得created_at並分配給Dayname或Carbon 在Carbon中,使用createFromFormat進行分配,這樣你可以為新建和索賠做到這一點 然後有一個叫做diffInSeconds的方法,你可以呼叫一分鐘來取得一個實體的差異。對所有實體都這樣做,最後將它們的數量相加得到不同實體的總數