关于快速导出 Created_at 无法被覆写 该怎么解决


如代码 下面的signed_tm 是可以正常从时间戳转换为 时间格式

但是created_at 是字符串 打印时 也是 正常时间格式 转时间戳也正常 但是导出 不会变成时间戳
如图
请问 是什么原因

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 16
随波逐流

结果应该是时间戳了,但是 excel 自动格式化 成时间了

解决方案

created_at = "\t" . strtotime($row['created_at']); // 使用制表符, 就不会自动转换了
1年前 评论
1094968745 (楼主) 1年前
随波逐流 (作者) 1年前
public function getCreatedAtAttribute ($value)
    {
        return date('Y-m-d H:i:s', strtotime($value));
    }

把这个放到模型里去试试

1年前 评论
1094968745 (楼主) 1年前
隐德莱希 (作者) 1年前

全是下划线看着不难受吗 :scream:

1年前 评论
1094968745 (楼主) 1年前
我爱大可乐 1年前

实际上是时间戳,只是excel给你转了。可以手动设置行为text格式,就变为时间戳了。

1年前 评论

如何确定问题, 打印处理完成一次后的$row 看数据是否已更改成功, 或者点击导出后的值 如

file 查看上方的值和单元格里的值是否一致

1年前 评论

Carbon::parse(now())->toDateTimeString() 局部可以用这个方式处理下, 因为那个是UTC时间 或者在model 层做一下全局处理,不过针对resource 这种还是不起作用

1年前 评论

打多了s ? file

1年前 评论
raybon 1年前
DogLoML 1年前
1094968745 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!