【问题标题】:Laravel/Lumen cast timestamp to intLaravel/Lumen 将时间戳转换为 int
【发布时间】:2018-09-15 10:35:55
【问题描述】:

时间戳是使用$table->timestamp('createdAt'); 创建的 获取unix时间戳值。我在模型中将其转换为:

protected $casts = [
    'createdAt' => 'datetime:U',
]

但是,$model->toArray(); 将 unix 时间戳作为字符串而不是 int/number 获取。

"createdAt"=> "1537003313",

应该是:

"createdAt"=> 1537003313,

我正在使用 toArray 方法来避免迭代行。所以(int)$model->createdAt; 不是一个选项。

【问题讨论】:

标签: php laravel casting lumen


【解决方案1】:

尝试使用 int 强制转换

(int)$timestamp

在你的情况下应该是

$casts['createdAt'] = (int)$casts['createdAt'];

阅读本文了解更多信息:http://php.net/manual/en/language.types.type-juggling.php

【讨论】:

  • 问题更多的是如何在 laravel 的末端使用 Model 或其他东西来完成。我不能使用显式类型转换。
猜你喜欢
  • 2021-06-03
  • 2012-04-30
  • 2018-01-02
  • 2020-02-13
  • 2021-04-07
  • 2021-05-13
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多