codecamp

Laravel 8 日期转换器

默认情况下,Eloquent 会将 created_atupdated_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_atupdated_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(); 


Laravel 8 定义一个修改器
Laravel 8 日期格式
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Laravel 8 入门指南

Laravel 8 基础功能

Laravel 8 前端开发

Laravel 8 安全相关

Laravel 8 综合话题

数据库

Eloquent ORM

测试相关

官方拓展包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }