我有一个名为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的方法,你可以调用一分钟来获取一个实体的差异。对所有实体都这样做,最后将它们的数量相加得到不同实体的总数