Laravel 8 日期轉(zhuǎn)換器

2021-07-19 11:44 更新

默認(rèn)情況下,Eloquent 會(huì)將 created_atupdated_at 字段轉(zhuǎn)換為 Carbon 實(shí)例, 它繼承了 PHP 原生的 DateTime 類并提供了各種有用的方法。 你可以通過(guò)設(shè)置模型的 $dates 屬性來(lái)添加其他日期屬性:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * $dates 數(shù)組內(nèi)的列轉(zhuǎn)換為日期格式
     *
     * @var array
     */
    protected $dates = [
        'seen_at',
    ];
} 
    

技巧:你可以通過(guò)將模型的公有屬性 $timestamps 設(shè)置為 false 來(lái)禁用默認(rèn)的 created_atupdated_at 的時(shí)間戳。

當(dāng)某個(gè)字段是日期格式時(shí),你可以將值設(shè)置為一個(gè) UNIX 時(shí)間戳,日期時(shí)間 (Y-m-d) 字符串或者 DateTime / Carbon 實(shí)例。日期值會(huì)被正確格式化并保存到你的數(shù)據(jù)庫(kù)中:

$user = App\Models\User::find(1);

$user->deleted_at = now();

$user->save(); 

就像上面所說(shuō)的,當(dāng)獲取到的屬性包含在 $dates 屬性中時(shí),都會(huì)自動(dòng)轉(zhuǎn)換為 Carbon 實(shí)例,允許你在屬性上使用任意的 Carbon 方法:

$user = App\Models\User::find(1);

return $user->deleted_at->getTimestamp(); 


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)