Laravel 8 日期转换器
2021-07-19 11:44 更新
默认情况下,Eloquent 会将 created_at
和 updated_at
字段转换为 Carbon 实例, 它继承了 PHP 原生的 DateTime
类并提供了各种有用的方法。 你可以通过设置模型的 $dates
属性来添加其他日期属性:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* $dates 数组内的列转换为日期格式
*
* @var array
*/
protected $dates = [
'seen_at',
];
}
技巧:你可以通过将模型的公有属性
$timestamps
设置为false
来禁用默认的created_at
和updated_at
的时间戳。
当某个字段是日期格式时,你可以将值设置为一个 UNIX 时间戳,日期时间 (Y-m-d
) 字符串或者 DateTime
/ Carbon
实例。日期值会被正确格式化并保存到你的数据库中:
$user = App\Models\User::find(1);
$user->deleted_at = now();
$user->save();
就像上面所说的,当获取到的属性包含在 $dates
属性中时,都会自动转换为 Carbon 实例,允许你在属性上使用任意的 Carbon 方法:
$user = App\Models\User::find(1);
return $user->deleted_at->getTimestamp();
以上内容是否对您有帮助:
更多建议: